*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{
    overflow:hidden;
    background:#f8fafc;
}

.loader{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#efefef;
    overflow:hidden;
    z-index:9999;
    transition:opacity .8s ease, transform .8s ease, visibility .8s ease;
}

.content{
    position:relative;
    z-index:10;
    text-align:center;
    width:90%;
    max-width:500px;
}

.logo-container{
    display:flex;
    justify-content:center;
    margin-bottom:25px;
    opacity:0;
    animation: logoIn .9s ease forwards;
}

.main-logo{
    width:180px;
    max-width:70%;
    height:auto;
    object-fit:contain;
    opacity:0;
    animation: logoScale 1s ease forwards;
}

@media(max-width:768px){
    .main-logo{
        width:140px;
    }
}

.tagline{
    margin-top:10px;
    color:#f9812a;
    font-size:1rem;
    letter-spacing:3px;
    animation: fadeIn 1.2s ease forwards;
    opacity:0;
}

.loading-text{
    color:#777;
    margin-top:18px;
    font-size:.95rem;
    animation: fadeIn 1.4s ease forwards;
    opacity:0;
}

.progress-container{
    width:100%;
    height:6px;
    background:#ddd;
    border-radius:50px;
    overflow:hidden;
    margin-top:40px;
}

.progress-bar{
    width:0%;
    height:100%;
    border-radius:50px;
    background:linear-gradient(90deg,#f9812a,#fab760);
}

.bg-circle{
    position:absolute;
    border-radius:50%;
    filter:blur(60px);
    opacity:.12;
}

.circle1{
    width:350px;
    height:350px;
    background:#f9812a;
    top:-120px;
    left:-120px;
}

.circle2{
    width:400px;
    height:400px;
    background:#f9812a;
    bottom:-180px;
    right:-180px;
}

.circle3{
    width:250px;
    height:250px;
    background:#f9812a;
    top:50%;
    left:10%;
}

.loader.hide{
    opacity:0;
    visibility:hidden;
    transform:scale(1.05);
}

@keyframes logoIn{
    from{
        opacity:0;
        transform:translateY(15px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes logoScale{
    from{
        opacity:0;
        transform:scale(.92);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:768px){
    .main-logo{
        width:140px;
    }
}
