.hero-section {

}

.text-gradient {
    background: linear-gradient(92.99deg, #FFFFFF -3.4%, #A8E2D5 48.77%, #692DF5 102.59%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-title {
    font-size: 39px;
    margin: 0;
    padding: 0;
}

.hero-subtitle {
    margin: 0;
    padding: 0;
    font-size: 20px;
}

.hero-description {
    font-size: 16px;
    color: #C1C7D1;
}

.download-btns {
    gap: 10px;
}

.download-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 6px 20px;
    background: #0C1018;
    color: white;
    text-decoration: none;
    border: 1px solid #1E293B;
    border-radius: 7px;
}

.download-btn:hover {
    color: white;
    text-decoration: none;
}

.feature-card-row {
    row-gap: 20px;
}

.feature-card {
    padding: 20px;
    overflow: hidden;

    outline: none;
    border: none;
    border-radius: 10px;

    background-image: linear-gradient(141.02deg, rgba(114, 71, 240, 0.8) -7.54%, #1C2332 39.45%);
    background-repeat: no-repeat;

    position: relative;
    z-index: 1;
}

.feature-card::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background-color: #101118;
    z-index: -1;
    transition: 200ms
}

.feature-card:after {
    position: absolute;
    content: "";
    top: 0;
    left: -50%;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at top, rgba(114, 71, 240, 0.2), transparent 60%);
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
    .feature-card:after {
        left: -40%;
        background-image: radial-gradient(circle at top, rgba(114, 71, 240, 0.2), transparent 30%);
    }

}

.feature-title {
    font-size: 16px;
}

.feature-subtitle {
    color: #A2ACB9;
}

.root-hook {
    top: 35px;
    left: 50%;
    content: "";
    position: absolute;
    background: #1C2332;
    width: 1px;
    height: 50px;
    z-index: 1;
}

.root-hook::before {
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    position: absolute;
    width: 430px;
    height: 40px;

    background: transparent;
    border-top: 1px solid #1C2332;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;

    z-index: 1;
}

@media screen and (max-width: 767px) {
    .root-hook {
        top: 44px;
        height: 110px;
    }

    .root-hook::before {
        top: 0;
        left: 1px;
        z-index: 4;

        height: 6px;
        width: 6px;
        border-radius: 100%;
        background: #1C2332;
    }

    .root-hook::after {
        position: absolute;
        content: "";
        bottom: 0;
        left: -3px;
        z-index: 4;

        height: 6px;
        width: 6px;
        border-radius: 100%;
        background: #1C2332;
    }

    .leaf-hook {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .root-hook::before {
        width: 570px;
    }
}

@media screen and (min-width: 991px) {
    .root-hook::before {
        width: 730px;
    }
}

@media screen and (min-width: 1200px) {
    .root-hook::before {
        width: 875px;
    }
}

@media screen and (min-width: 1600px) {
    .root-hook::before {
        width: 1005px;
    }
}

.leaf-hook {
    top: -80px;
    left: 50%;
    content: "";
    position: absolute;
    background: #1C2332;
    height: 80px;
    width: 1px;
    z-index: 3;
}

.leaf-hook.left {
    background: transparent;
    width: 40px;
    border-left: 1px solid #1C2332;
    border-top-left-radius: 20px;
}

.leaf-hook.right {
    transform: translateX(-95%);
    background: transparent;
    width: 40px;
    border-right: 1px solid #1C2332;
    border-top-right-radius: 20px;
}

.joint {
    top: -4%;
    left: 51%;
    transform: translateX(-50%);
    content: "";
    position: absolute;
    background: #1C2332;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    z-index: 3;
}

.screenshot-container {
    padding: 30px;
    margin-bottom: 55px;
    position: relative;

    border: 1px solid;
    border-image-source: linear-gradient(126deg, #0C1018 13.66%, #473590 32.82%, #1C2332 51.65%);
    border-image-slice: 1;
    border-radius: 10px;
    background-color: #0f1117;
}

.why-flix-top-shadow {
    transform: translateX(-50%);
    left: 50%;
    top: -61px;
}

.why-flix-bottom-shadow {
    z-index: -1;
    transform: translateX(-50%);
    left: 50%;
    bottom: -80px;
}

.why-flix-title {
    font-size: 46px;
    margin: 0;
    padding: 0;
}

.why-flix-img {
    height: 284px;
}

.screenshot-content {
    gap: 110px;
}

@media screen and (max-width: 767px) {
    .why-flix-title {
        font-size: 36px;
    }

    .screenshot-content {
        flex-direction: column;
        gap: 20px;
    }

    .why-flix-img {
        height: auto;
    }
}

.how-to-steps {
    row-gap: 40px;
}

@media screen and (max-width: 767px) {
    .how-to-steps {
        row-gap: 20px;
    }
}

.steps-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px;

    border: solid 1px transparent;
    border-radius: 8px;
    background-image: linear-gradient(#0C1018, #0C1018),
    linear-gradient(126deg, #0C1018 13.66%, #35908C 32.82%, #1C2332 51.65%);;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    position: relative;

    overflow: clip;
    backdrop-filter: blur(100px);
}

.steps-card:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    top: 70px;
    width: 400px;
    height: 400px;
    border-radius: 100%;

    background: radial-gradient(40.98% 41.96% at 50% 32.36%, rgba(84, 230, 223, 0.8), transparent);
    opacity: 0.2;
    padding: 5px;
    box-sizing: content-box;
}

.step-number {
    position: absolute;
    left: 10px;
    top: 10px;
    height: 27px;
    width: 27px;
    border-radius: 100%;
    font-size: 16px;
    color: white;
    place-items: center;
    background: #358C884D;
}

.step-icon {
    width: 70px;
    height: 70px;
    margin-bottom: 27px;

    background: #1D3943;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.steps-card-desc {
    font-size: 14px;
}

.about-screenshot-container {
    border: solid 1px transparent;
    border-radius: 8px;
    background-image: linear-gradient(var(--background-color), var(--background-color)),
    linear-gradient(152deg, #0C1018 13.66%, var(--border-color) 32.82%, #1C2332 51.65%);;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    position: relative;
}

.box-bottom-shadow {
    position: absolute;
    z-index: -1;
    content: "";
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 150px;
    border-radius: 100%;
    bottom: -95px;

    background: radial-gradient(40.98% 41.96% at 50% 32.36%, var(--shadow-color), transparent);
    opacity: 0.2;
}

.box-top-shadow {
    z-index: 1;
    position: absolute;
    content: "";
    top: -55px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 60%;
    border-radius: 100%;

    background: radial-gradient(40.98% 70% at 50% 32.36%, var(--shadow-color), transparent);
    opacity: 0.2;
}
