section.steps_section {
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}
@media screen and (max-width: 768px) and (orientation: portrait) {
    section.steps_section {
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
}
    }
section.steps_section .title {
        margin-bottom: 1.2rem;
        text-align: center;
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
    section.steps_section .title {
            margin-bottom: .4rem;
    }
        }
section.steps_section .steps-icon {
        width: 0.39rem;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
section.steps_section .steps-wrapper {
        display: grid;
        grid-template-columns: repeat(var(--step-count, 5), 1fr);
        grid-template-rows: 1fr auto 1fr;
        row-gap: .32rem;
        column-gap: .2rem;
        position: relative;
        /* min-height: 8rem; */
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
    section.steps_section .steps-wrapper {
            display: flex;
            flex-direction: column;
            gap: 0;
            min-height: unset;
    }
        }
section.steps_section .step-number {
        grid-row: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
    section.steps_section .step-number {
            order: var(--mobile-order);
            margin-top: .4rem;
            z-index: 10;
            margin-bottom: .2rem;
    }
        }
:is(section.steps_section .step-number) .number {
            width: .4rem;
            height: .4rem;
            background: var(--orange);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            font-size: .16rem;
            font-weight: 600;
            z-index: 2;
            position: relative;

            font-size: 0.16rem;
        }
:is(section.steps_section .step-number)::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 50%;
            height: 1px;
            border-bottom: 2px dashed rgba(255, 255, 255, 0.2);
            z-index: 1;

            left: 59%;
            width: 1.44rem;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
    :is(section.steps_section .step-number)::after {
                display: none;
        }
            }
.last:is(section.steps_section .step-number)::after {
            display: none;
        }
section.steps_section .step-card {
        border-radius: .16rem;
        background-color: rgba(13, 14, 20, 0.4);
        padding: .24rem;
        position: relative;
        z-index: 3;
        box-shadow: 0 .1rem .3rem rgba(0, 0, 0, 0.2);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }
@media screen and (max-width: 768px) and (orientation: portrait) {
    section.steps_section .step-card {
            order: var(--mobile-order);
            width: 100%;
            margin-top: .24rem;
    }
        }
:is(section.steps_section .step-card) .step-title {
            font-size: 0.32rem;
            max-width: 2.8rem;
            text-align: end;
            line-height: 1.125;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
    :is(section.steps_section .step-card) .step-title {
               max-width: 100%;
        }
            }
.top:is(section.steps_section .step-card) {
            grid-row: 1;
            align-self: stretch;

            background-image: url("../../assets/card-border-1.webp");
            background-position: 0 0;
            background-size: contain;
            background-repeat: no-repeat;
        }
@media screen and (max-width: 768px) and (orientation: portrait) {
    .top:is(section.steps_section .step-card) {
                /* On mobile: all cards use bottom corner border */
                background-image: url("../../assets/card-border-2.webp");
                background-position: 100% 100%;
        }
            }
.top:is(section.steps_section .step-card)::after {
                content: '';
                position: absolute;
                bottom: calc(-.21rem + 2px);
                left: 50%;
                width: .24rem;
                height: .21rem;
                transform: translateX(-50%);
                background-image: url('data:image/svg+xml;utf8,<svg width="24" height="18" viewBox="0 0 24 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.39527 16.4417C10.547 18.4572 13.453 18.4572 14.6047 16.4417L24 0H0L9.39527 16.4417Z" fill="%230D0E14" fill-opacity="0.4"/></svg>');
                background-size: 100% 100%;
                background-repeat: no-repeat;
                z-index: 2;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
    .top:is(section.steps_section .step-card)::after {
                    bottom: auto;
                    top: calc(-.21rem + 1px);
                    transform: translateX(-50%) rotate(180deg);
            }
                }
.top:is(section.steps_section .step-card)::before {
                content: '';
                position: absolute;
                bottom: -.1rem;
                left: 50%;
                transform: translateX(-50%);
                border-left: .1rem solid transparent;
                border-right: .1rem solid transparent;
                border-top: .1rem rgba(13, 14, 20, 0.4);
                z-index: 1;
                display: none;
            }
@media screen and (max-width: 768px) and (orientation: portrait) {
    .top:is(section.steps_section .step-card)::before {
                    bottom: auto;
                    top: -.1rem;
                    border-top: none;
                    border-bottom: .1rem solid rgba(13, 14, 20, 0.4);
            }
                }
.bottom:is(section.steps_section .step-card) {
            grid-row: 3;
            align-self: stretch;

            background-image: url("../../assets/card-border-2.webp");
            background-position: 100% 100%;
            background-size: contain;
            background-repeat: no-repeat;
        }
.bottom:is(section.steps_section .step-card)::after {
                content: '';
                position: absolute;
                top: calc(-.21rem + 1px);
                left: 50%;
                width: .24rem;
                height: .21rem;
                transform: translateX(-50%) rotate(180deg);
                background-image: url('data:image/svg+xml;utf8,<svg width="24" height="18" viewBox="0 0 24 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.39527 16.4417C10.547 18.4572 13.453 18.4572 14.6047 16.4417L24 0H0L9.39527 16.4417Z" fill="%230D0E14" fill-opacity="0.4"/></svg>');
                background-size: 100% 100%;
                background-repeat: no-repeat;
                z-index: 2;
            }
.bottom:is(section.steps_section .step-card)::before {
                content: '';
                position: absolute;
                top: -.1rem;
                left: 50%;
                transform: translateX(-50%);
                border-left: .1rem solid transparent;
                border-right: .1rem solid transparent;
                border-bottom: .1rem solid transparent;
                z-index: 1;
                display: none;
            }
:is(section.steps_section .step-card) .card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: .12rem;
            margin-bottom: .36rem;
        }
:is(:is(section.steps_section .step-card) .card-header) .icon-wrap {
                width: .57rem;
                height: .57rem;
                background: rgba(255, 255, 255, 0.04);
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
                border: 1px solid rgba(255, 255, 255, 0.04);
            }
:is(:is(:is(section.steps_section .step-card) .card-header) .icon-wrap) img {
                    width: .32rem;
                    height: .32rem;
                    object-fit: contain;
                }
:is(:is(section.steps_section .step-card) .card-header) h3 {
                font-size: .18rem;
                font-weight: 500;
                margin: 0;
                color: #fff;
            }
:is(section.steps_section .step-card) .card-divider {
            height: 1px;
            border-bottom: 1px dashed rgba(255, 138, 0, 0.3);
            margin-bottom: .4rem;
        }
:is(section.steps_section .step-card) .card-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
        }
:is(:is(section.steps_section .step-card) .card-list) li {
                font-size: .16rem;
                color: #b0b0b0;
                display: flex;
                align-items: center;
                gap: .08rem;
                line-height: 1.375;
            }
:is(:is(:is(section.steps_section .step-card) .card-list) li) .check {
                    color: #00AFDC;
                    font-size: .14rem;
                    margin-top: .01rem;
                }
:is(:is(:is(section.steps_section .step-card) .card-list) li) .up {
                    color: var(--orange);
                    margin-top: .01rem;
                }
:is(:is(:is(section.steps_section .step-card) .card-list) li) .down {
                    color: var(--orange);
                    margin-top: .01rem;
                }