@import url("variables.css");

/* ==========================================
   BUTTONS
========================================== */

.btn-primary,
.btn-secondary,
.btn-nav{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    padding:16px 34px;

    border-radius:60px;

    text-decoration:none;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.4s;

    overflow:hidden;

    position:relative;

}

/* PRIMARY */

.btn-primary{

    color:#fff;

    background:linear-gradient(
        135deg,
        #ff003c,
        #ff2558
    );

    border:none;

    box-shadow:

        0 15px 35px rgba(255,0,70,.30);

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:

        0 25px 60px rgba(255,0,70,.45);

}

/* SECONDARY */

.btn-secondary{

    color:#fff;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(15px);

}

.btn-secondary:hover{

    background:rgba(255,255,255,.08);

    transform:translateY(-5px);

}

/* NAV */

.btn-nav{

    color:#fff;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 10px 30px rgba(255,0,80,.28);

}

.btn-nav:hover{

    transform:translateY(-4px);

}

/* ==========================================
   SECTION HEADER
========================================== */

.section-header{

    text-align:center;

    max-width:760px;

    margin:0 auto 70px;

}

.section-header span{

    display:inline-block;

    color:#ff2558;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:16px;

}

.section-header h2{

    font-size:52px;

    font-weight:800;

    margin-bottom:20px;

    line-height:1.1;

}

.section-header p{

    color:#b7b7b7;

    font-size:17px;

    line-height:1.9;

}

/* ==========================================
   TRUST BAR
========================================== */

.trust-bar{

    padding:18px 0;

    overflow:hidden;

    border-top:1px solid rgba(255,255,255,.05);

    border-bottom:1px solid rgba(255,255,255,.05);

    background:rgba(255,255,255,.02);

    backdrop-filter:blur(15px);

}

.marquee{

    width:100%;

    overflow:hidden;

}

.marquee-content{

    display:flex;

    align-items:center;

    gap:70px;

    width:max-content;

    animation:marquee 30s linear infinite;

}

.marquee-content span{

    display:flex;

    align-items:center;

    gap:10px;

    color:#ddd;

    font-size:15px;

    white-space:nowrap;

}

.marquee-content i{

    color:#ff2558;

}

/* ==========================================
   STATS
========================================== */

.stats{

    padding:110px 0;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.stat-card{

    padding:45px 30px;

    border-radius:24px;

    text-align:center;

    position:relative;

    overflow:hidden;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

}

.stat-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        #ff003c,
        #8c00ff
    );

}

.stat-card:hover{

    transform:translateY(-12px);

    border-color:rgba(255,0,70,.35);

    box-shadow:

        0 20px 50px rgba(0,0,0,.35),

        0 0 35px rgba(255,0,70,.15);

}

.stat-card h2{

    font-size:54px;

    font-weight:800;

    color:#fff;

    margin-bottom:12px;

}

.stat-card p{

    color:#bdbdbd;

    font-size:16px;

}

/* ==========================================
   ANIMATIONS
========================================== */

@keyframes marquee{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}
/* ==========================================
   WHY CHOOSE
========================================== */

.why-us{

    padding:120px 0;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}

.why-card{

    position:relative;

    padding:45px;

    border-radius:28px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

    overflow:hidden;

}

.why-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(255,0,70,.06),
        rgba(140,0,255,.03)
    );

    opacity:0;

    transition:.45s;

}

.why-card:hover{

    transform:translateY(-12px);

    border-color:rgba(255,0,70,.25);

    box-shadow:

        0 20px 50px rgba(0,0,0,.35),

        0 0 40px rgba(255,0,70,.12);

}

.why-card:hover::before{

    opacity:1;

}

.why-card i{

    width:72px;

    height:72px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:20px;

    font-size:28px;

    color:#fff;

    margin-bottom:25px;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 15px 35px rgba(255,0,70,.25);

}

.why-card h3{

    font-size:28px;

    margin-bottom:16px;

}

.why-card p{

    color:#bdbdbd;

    line-height:1.9;

}

/* ==========================================
   PROCESS
========================================== */

.process{

    padding:120px 0;

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.process-card{

    position:relative;

    text-align:center;

    padding:45px 30px;

    border-radius:28px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

    overflow:hidden;

}

.process-card:hover{

    transform:translateY(-10px);

    border-color:rgba(255,0,70,.25);

    box-shadow:

        0 18px 45px rgba(0,0,0,.35),

        0 0 35px rgba(255,0,70,.15);

}

.process-number{

    position:absolute;

    top:18px;

    right:22px;

    font-size:48px;

    font-weight:800;

    opacity:.08;

    color:#fff;

}

.process-card i{

    width:80px;

    height:80px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    font-size:30px;

    color:#fff;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 12px 35px rgba(255,0,70,.25);

}

.process-card h3{

    font-size:26px;

    margin-bottom:15px;

}

.process-card p{

    color:#bdbdbd;

    line-height:1.8;

}

/* ==========================================
   SERVICES
========================================== */

.services-preview{

    padding:120px 0;

}

.service-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.service-box{

    position:relative;

    padding:45px;

    border-radius:30px;

    overflow:hidden;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

}

.service-box::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        #ff003c,
        #8c00ff
    );

}

.service-box:hover{

    transform:

        translateY(-15px)

        scale(1.02);

    border-color:rgba(255,0,70,.30);

    box-shadow:

        0 25px 60px rgba(0,0,0,.40),

        0 0 45px rgba(255,0,70,.18);

}

.service-box i{

    width:82px;

    height:82px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:22px;

    font-size:34px;

    color:#fff;

    margin-bottom:30px;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 15px 35px rgba(255,0,70,.30);

}

.service-box h3{

    font-size:28px;

    margin-bottom:18px;

}

.service-box p{

    color:#bdbdbd;

    line-height:1.9;

}

.service-box:hover i{

    transform:rotate(-8deg) scale(1.08);

    transition:.4s;

}

/* ==========================================
   COMMON HOVER
========================================== */

.why-card,
.process-card,
.service-box{

    cursor:pointer;

}
/* ==========================================
   CONTACT
========================================== */

.contact{

    padding:140px 0;

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1.2fr;

    gap:60px;

    align-items:start;

}

/* ==========================================
   CONTACT INFO
========================================== */

.contact-info{

    padding:45px;

    border-radius:30px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

}

.contact-info:hover{

    transform:translateY(-10px);

    border-color:rgba(255,0,70,.25);

    box-shadow:

        0 25px 60px rgba(0,0,0,.35),

        0 0 35px rgba(255,0,70,.15);

}

.contact-info h3{

    font-size:34px;

    margin-bottom:35px;

}

.contact-info p{

    display:flex;

    align-items:center;

    gap:18px;

    color:#d6d6d6;

    margin-bottom:25px;

    font-size:17px;

    line-height:1.7;

}

.contact-info i{

    width:52px;

    height:52px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:15px;

    font-size:20px;

    color:#fff;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 12px 25px rgba(255,0,70,.25);

}

/* ==========================================
   FORM
========================================== */

.contact-form{

    padding:45px;

    border-radius:30px;

    background:rgba(255,255,255,.03);

    border:1px solid rgba(255,255,255,.06);

    backdrop-filter:blur(20px);

    transition:.45s;

}

.contact-form:hover{

    border-color:rgba(255,0,70,.20);

    box-shadow:

        0 20px 55px rgba(0,0,0,.35);

}

/* ==========================================
   INPUTS
========================================== */

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:18px 22px;

    margin-bottom:22px;

    border-radius:16px;

    border:1px solid rgba(255,255,255,.08);

    outline:none;

    background:rgba(255,255,255,.04);

    color:#fff;

    font-size:15px;

    transition:.35s;

}

.contact-form textarea{

    resize:none;

    min-height:180px;

}

.contact-form input::placeholder,

.contact-form textarea::placeholder{

    color:#888;

}

.contact-form input:focus,

.contact-form textarea:focus{

    border-color:#ff003c;

    background:rgba(255,255,255,.06);

    box-shadow:

        0 0 25px rgba(255,0,70,.15);

}

/* ==========================================
   SEND BUTTON
========================================== */

.contact-form button{

    width:100%;

    border:none;

    padding:18px;

    border-radius:50px;

    font-size:17px;

    font-weight:600;

    cursor:pointer;

    color:#fff;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    transition:.4s;

    box-shadow:

        0 18px 35px rgba(255,0,70,.28);

}

.contact-form button:hover{

    transform:translateY(-5px);

    box-shadow:

        0 25px 55px rgba(255,0,70,.35);

}

/* ==========================================
   INPUT AUTOFILL FIX
========================================== */

input:-webkit-autofill,

textarea:-webkit-autofill{

    -webkit-box-shadow:0 0 0 1000px #111 inset !important;

    -webkit-text-fill-color:#fff !important;

}

/* ==========================================
   CONTACT RESPONSIVE
========================================== */

@media(max-width:992px){

    .contact-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .contact-info,

    .contact-form{

        padding:30px;

    }

    .contact-info h3{

        font-size:28px;

    }

}
/* ==========================================
   FOOTER
========================================== */

.footer{

    padding:90px 0 30px;

    border-top:1px solid rgba(255,255,255,.06);

    background:rgba(255,255,255,.015);

    backdrop-filter:blur(15px);

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.5fr;

    gap:45px;

    margin-bottom:50px;

}

/* BRAND */

.footer-logo{

    width:90px;

    margin-bottom:20px;

    transition:.4s;

}

.footer-logo:hover{

    transform:scale(1.08) rotate(-5deg);

}

.footer-brand h3{

    font-size:34px;

    margin-bottom:15px;

}

.footer-brand p{

    color:#bdbdbd;

    line-height:1.9;

    max-width:350px;

}

/* SOCIAL */

.footer-social{

    display:flex;

    gap:18px;

    margin-top:25px;

}

.footer-social a{

    width:48px;

    height:48px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    text-decoration:none;

    color:#fff;

    font-size:18px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.4s;

}

.footer-social a:hover{

    transform:translateY(-6px);

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 15px 35px rgba(255,0,70,.30);

}

/* LINKS */

.footer h4{

    margin-bottom:22px;

    font-size:22px;

}

.footer a{

    display:block;

    margin-bottom:14px;

    text-decoration:none;

    color:#bdbdbd;

    transition:.3s;

}

.footer a:hover{

    color:#ff2558;

    transform:translateX(8px);

}

.footer p{

    color:#bdbdbd;

    margin-bottom:15px;

}

.footer p i{

    color:#ff2558;

    margin-right:12px;

}

/* BOTTOM */

.footer hr{

    border:none;

    border-top:1px solid rgba(255,255,255,.06);

    margin:40px 0;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:20px;

}

.footer-bottom p{

    color:#8d8d8d;

}

.footer-bottom div{

    display:flex;

    gap:25px;

}

/* ==========================================
   WHATSAPP
========================================== */

.whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    width:65px;

    height:65px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    font-size:30px;

    color:#fff;

    z-index:999;

    background:linear-gradient(
        135deg,
        #25D366,
        #128C7E
    );

    box-shadow:

        0 15px 35px rgba(37,211,102,.35);

    transition:.4s;

}

.whatsapp:hover{

    transform:translateY(-8px) scale(1.08);

}

/* ==========================================
   BACK TO TOP
========================================== */

#backTop{

    position:fixed;

    left:30px;

    bottom:30px;

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:20px;

    color:#fff;

    z-index:999;

    background:linear-gradient(
        135deg,
        #ff003c,
        #8c00ff
    );

    box-shadow:

        0 15px 35px rgba(255,0,70,.28);

    transition:.4s;

}

#backTop:hover{

    transform:translateY(-8px);

}

/* ==========================================
   SCROLLBAR ENHANCEMENT
========================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#050505;

}

::-webkit-scrollbar-thumb{

    border-radius:20px;

    background:linear-gradient(
        180deg,
        #ff003c,
        #8c00ff
    );

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1100px){

    .footer-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .footer{

        text-align:center;

    }

    .footer-grid{

        grid-template-columns:1fr;

    }

    .footer-brand p{

        max-width:100%;

        margin:auto;

    }

    .footer-social{

        justify-content:center;

    }

    .footer-bottom{

        flex-direction:column;

    }

    .footer-bottom div{

        justify-content:center;

        flex-wrap:wrap;

    }

    .whatsapp{

        width:58px;

        height:58px;

        right:18px;

        bottom:18px;

    }

    #backTop{

        left:18px;

        bottom:18px;

        width:54px;

        height:54px;

    }

}
/* ==========================================
   NAVBAR SCROLLED
========================================== */

.header.scrolled{

    background:rgba(8,8,8,.88);

    backdrop-filter:blur(25px);

    box-shadow:0 10px 40px rgba(0,0,0,.45);

}

/* Active Nav */

.nav-links a.active{

    color:#ff2558;

}

/* Back Top Default */

#backTop{

    opacity:0;

    pointer-events:none;

}
/* ==========================================
   LOADING BUTTON
========================================== */

.btn-loading{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

}

.spinner{

    width:18px;

    height:18px;

    border:2px solid rgba(255,255,255,.25);

    border-top:2px solid #ffffff;

    border-radius:50%;

    animation:spin .8s linear infinite;

}

@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

.btn-primary:disabled{

    cursor:not-allowed;

    opacity:.85;

    transform:none !important;

}
/* ==========================================
   FORM VALIDATION
========================================== */

.input-group{

    margin-bottom:22px;

    position:relative;

}

.error-message{

    display:block;

    color:#ff4d4f;

    font-size:13px;

    margin-top:8px;

    min-height:18px;

    transition:.3s;

}

.success{

    border:1px solid #00d26a !important;

    box-shadow:0 0 12px rgba(0,210,106,.20);

}

.error{

    border:1px solid #ff4d4f !important;

    box-shadow:0 0 12px rgba(255,77,79,.20);

}

