body{
    background:#050816;
}

.ats-hero{

    position:relative;

    min-height:100vh;

    padding:80px 20px;

    overflow:hidden;

    background:
    radial-gradient(circle at top right,#6d28d9 0%,transparent 35%),
    radial-gradient(circle at bottom left,#2563eb 0%,transparent 30%),
    #050816;
}

.ats-bg-blur{

    position:absolute;

    width:500px;

    height:500px;

    background:#7c3aed;

    filter:blur(160px);

    opacity:.25;

    top:-100px;

    right:-100px;
}

.ats-container{

    position:relative;

    z-index:2;

    max-width:1100px;

    margin:auto;

    text-align:center;
}

.ats-badge{

    display:inline-block;

    padding:10px 24px;

    border-radius:50px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.1);

    color:#c4b5fd;

    font-size:14px;

    margin-bottom:30px;

    backdrop-filter:blur(12px);
}

.ats-heading{

    font-size:72px;

    line-height:1.1;

    font-weight:800;

    color:#fff;

    margin-bottom:25px;
}

.ats-heading span{

    background:linear-gradient(
        90deg,
        #8b5cf6,
        #3b82f6
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}

.ats-subheading{

    max-width:780px;

    margin:auto;

    font-size:24px;

    line-height:1.7;

    color:#cbd5e1;

    margin-bottom:60px;
}

.ats-upload-card{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    border-radius:32px;

    padding:45px;

    backdrop-filter:blur(20px);

    box-shadow:
    0 0 60px rgba(124,58,237,.25);

    max-width:900px;

    margin:auto;
}

.upload-box{

    border:2px dashed rgba(139,92,246,.5);

    border-radius:24px;

    padding:80px 20px;
}

.upload-icon{

    font-size:70px;

    color:#8b5cf6;

    margin-bottom:25px;
}

.upload-box h3{

    font-size:38px;

    color:#fff;

    margin-bottom:15px;
}

.upload-box p{

    color:#cbd5e1;

    font-size:20px;

    margin-bottom:35px;
}

.upload-btn{

    display:inline-block;

    background:linear-gradient(
        90deg,
        #7c3aed,
        #2563eb
    );

    color:#fff;

    padding:18px 42px;

    border-radius:14px;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;
}

.upload-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 10px 30px rgba(124,58,237,.4);
}

.upload-box small{

    display:block;

    margin-top:25px;

    color:#94a3b8;

    font-size:16px;
}

.file-name{

    margin-top:20px;

    color:#8b5cf6;

    font-weight:600;
}

.privacy-text{

    margin-top:30px;

    color:#cbd5e1;

    font-size:16px;
}

#loader{

    display:none;

    margin-top:50px;
}

.loader-spinner{

    width:70px;

    height:70px;

    border:6px solid rgba(255,255,255,.1);

    border-top:6px solid #8b5cf6;

    border-radius:50%;

    margin:auto;

    animation:spin 1s linear infinite;
}

@keyframes spin{

    100%{
        transform:rotate(360deg);
    }
}

#loader p{

    color:#fff;

    margin-top:20px;

    font-size:20px;
}

#ats-result{

    margin-top:60px;

    background:rgba(15,23,42,.92);

    border:1px solid rgba(255,255,255,.08);

    border-radius:28px;

    padding:45px;

    color:#f8fafc !important;

    line-height:1.9;

    backdrop-filter:blur(14px);

    box-shadow:
    0 10px 40px rgba(0,0,0,.35);

    overflow:hidden;

    text-align:left;
}

#ats-result *{

    color:#f8fafc !important;
}

#ats-result h1,
#ats-result h2,
#ats-result h3,
#ats-result h4,
#ats-result h5{

    color:#ffffff !important;

    margin-top:35px;

    margin-bottom:18px;

    font-weight:700;

    line-height:1.4;
}

#ats-result h1{

    font-size:38px;
}

#ats-result h2{

    font-size:30px;

    border-bottom:1px solid rgba(139,92,246,.35);

    padding-bottom:12px;
}

#ats-result h3{

    font-size:24px;
}

#ats-result p{

    color:#cbd5e1 !important;

    margin-bottom:18px;

    font-size:17px;
}

#ats-result ul{

    padding-left:25px;

    margin-top:15px;

    margin-bottom:25px;
}

#ats-result li{

    color:#e2e8f0 !important;

    margin-bottom:12px;

    line-height:1.8;
}

#ats-result strong{

    color:#8b5cf6 !important;
}

#ats-result table{

    width:100%;

    border-collapse:collapse;

    margin-top:25px;

    margin-bottom:30px;
}

#ats-result table th{

    background:#1e293b;

    color:#fff !important;

    padding:16px;

    border:1px solid rgba(255,255,255,.08);
}

#ats-result table td{

    padding:16px;

    border:1px solid rgba(255,255,255,.08);

    color:#cbd5e1 !important;
}

.upload-btn.disabled{

    opacity:.6;

    pointer-events:none;

    cursor:not-allowed;
}

.ats-error-box{

    background:#7f1d1d;

    color:#fff;

    padding:16px;

    border-radius:12px;

    margin-top:20px;
}

.ats-features{

    display:grid;

    grid-template-columns:
    repeat(auto-fit, minmax(260px,1fr));

    gap:30px;

    margin-top:80px;

    align-items:stretch;
}

.feature-card{

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(
        145deg,
        rgba(30,41,59,.96),
        rgba(15,23,42,.98)
    );

    border:1px solid rgba(255,255,255,.08);

    border-radius:26px;

    padding:35px;

    color:#fff;

    backdrop-filter:blur(12px);

    transition:.35s ease;

    text-align:left;

    min-height:280px;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    box-shadow:
    0 10px 35px rgba(0,0,0,.28);
}

.feature-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        #8b5cf6,
        #3b82f6
    );
}

.feature-card:hover{

    transform:translateY(-10px);

    border-color:rgba(139,92,246,.45);

    box-shadow:
    0 20px 45px rgba(124,58,237,.25);
}

/*
====================================
ICON
====================================
*/

.feature-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:
    linear-gradient(
        135deg,
        rgba(139,92,246,.18),
        rgba(59,130,246,.18)
    );

    margin-bottom:28px;

    font-size:34px;

    color:#a78bfa;

    flex-shrink:0;
}

/*
====================================
HEADING
====================================
*/

.feature-card h4{

    font-size:32px;

    font-weight:700;

    color:#ffffff;

    margin-bottom:18px;

    line-height:1.25;

    word-break:normal;
}

/*
====================================
DESCRIPTION
====================================
*/

.feature-card p{

    color:#cbd5e1;

    font-size:18px;

    line-height:1.8;

    margin:0;

    word-break:normal;
}

@media(max-width:768px){

    .ats-features{

        grid-template-columns:1fr;
    }

    .feature-card{

        min-height:auto;
    }

    .feature-card h4{

        font-size:28px;
    }
}

@media(max-width:768px){

    .ats-heading{

        font-size:44px;
    }

    .ats-subheading{

        font-size:18px;
    }

    .upload-box{

        padding:50px 20px;
    }

    .upload-box h3{

        font-size:28px;
    }

    .ats-features{

        grid-template-columns:1fr;
    }
}

/*
====================================
PREMIUM LOADER
====================================
*/

#loader{

    display:none;

    margin-top:50px;

    text-align:center;
}

.loader-spinner{

    width:75px;

    height:75px;

    border:6px solid rgba(255,255,255,.1);

    border-top:6px solid #8b5cf6;

    border-radius:50%;

    margin:auto;

    animation:spin 1s linear infinite;

    box-shadow:
    0 0 30px rgba(139,92,246,.45);
}

@keyframes spin{

    100%{
        transform:rotate(360deg);
    }
}

#loader-steps{

    margin-top:28px;

    color:#e2e8f0;

    font-size:20px;

    font-weight:600;

    min-height:30px;

    animation:fadeLoader .4s ease;
}

@keyframes fadeLoader{

    from{

        opacity:0;

        transform:translateY(5px);
    }

    to{

        opacity:1;

        transform:translateY(0);
    }
}