

/* ===============================
   MODERN RESET
================================ */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"DM Sans",sans-serif;
}

:root{
    --primary:#2563eb;
    --secondary:#06b6d4;
    --dark:#020617;
    --surface:#0f172a;
    --card:#111827;
    --white:#ffffff;
    --text:#e2e8f0;
    --muted:#94a3b8;
    --green:#03c855;
    --radius:18px;
    --transition:.3s ease;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--dark);
    color:var(--text);
    min-height:100vh;
    overflow-x:hidden;
    max-width: 2500px;
    margin: 0 auto;
}


p,
ul{
    font-size:1.1rem;
    line-height:1.7;
}


.flex{
    display:flex;
}


::-webkit-scrollbar{
    width:7px;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(
        var(--primary),
        var(--secondary)
    );
    border-radius:50px;
}


/* ===============================
   OVERLAY
================================ */

/* .blur{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    z-index:997;
    transition:var(--transition);
}

.blur.active{
    opacity:1;
    visibility:visible;
} */


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

#floating-whatsapp{
    position:fixed;
    left:20px;
    bottom:20px;
    display:flex;
    align-items:center;
    background:#25d366;
    border-radius:50px;
    overflow:hidden;
    box-shadow:
    0 15px 40px rgba(0,0,0,.35);
    z-index:1000;
    transition:.4s;
}


#floating-whatsapp a{
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:12px 20px;
    color:white;
    background:#25d366;
    text-decoration:none;
    font-weight:600;
}


#floating-whatsapp img{
    width:30px;
}


#floating-whatsapp button{
    background:none;
    border:none;
    color:white;
    padding-right:15px;
    cursor:pointer;
    font-size:20px;
}


.hidden{
    transform:translateX(-150%);
}



/* ===============================
   CALL BAR
================================ */

.call-email{

    background:
    linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    padding:15px;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:2rem;
}


.call-email a{

    color:white;
    text-decoration:none;
    font-weight:600;
}


.call-email img{
    width:25px;
}


.call-email.active{
    display:none;
}

.call-whatsapp, .email {
    gap:0.5rem;
}




/* ===============================
   NAVIGATION
================================ */


nav{

    height:80px;
    padding:0 5%;
    position:sticky;
    top:0;

    background:
    rgba(2,6,23,.85);

    backdrop-filter:blur(20px);

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

    justify-content:space-between;
    align-items:center;

    z-index:998;
}



.logo{

    align-items:center;
    gap:1rem;
}



.logo img{
    width:42px;
}



.logo p{

    color:white;
    font-size:1.5rem;
    font-weight:700;

}



.nav-links ul{

    display:flex;
    gap:2rem;
    list-style:none;

}



.nav-links a{

    color:#e2e8f0;
    text-decoration:none;
    font-weight:600;
    transition:var(--transition);

}



.nav-links a:hover{

    color:var(--secondary);

}



.burger-menu{

    display:none;
    flex-direction:column;
    gap:7px;
    cursor:pointer;

}



.burger-menu span{

    width:32px;
    height:3px;
    background:white;
    border-radius:50px;

}



#short{

    width:18px;
    transition:.3s;

}



#short.active{

    width:32px;

}




/* ===============================
   HERO
================================ */


.hero{

    min-height:90vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:6rem 8%;

    color:white;


    background:

    linear-gradient(
        135deg,
        rgba(37,99,235,.9),
        rgba(6,182,212,.75)
    ),

    url(images/75857.jpg);


    background-size:cover;
    background-position:center;

}



.hero h1{

    font-size:
    clamp(2.8rem,7vw,5rem);

    max-width:1000px;

    line-height:1.1;

    margin-bottom:1.5rem;

}



.hero p{

    max-width:800px;

    color:#e2e8f0;

}



.hero .cta{

    margin-top:2rem;
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}



.hero .cta a{

    padding:15px 32px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:var(--transition);

}



.hero a#get-started{

    background:white;
    color:#020617;

}



.hero a#learn-more{

    background:#020617;
    color:white;

}



.hero .cta a:hover{

    transform:translateY(-5px);

}



/* ===============================
   ABOUT SECTION
================================ */


.about{

    position:relative;

    background:
    linear-gradient(
        rgba(2,6,23,.85),
        rgba(2,6,23,.85)
    ),
    url(images/grow-online.jpg);

    background-size:cover;
    background-position:center;

    color:white;

}



.about-wrapper{

    max-width:1200px;

    margin:auto;

    padding:4rem 3rem;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:5rem;


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


    border:

    1px solid rgba(255,255,255,.1);


    border-radius:30px;


    backdrop-filter:blur(15px);

}



.about-header{

    display:flex;

    align-items:center;

    gap:1rem;

    margin-bottom:1.5rem;

}



.about-header h2{

    font-size:
    clamp(2rem,5vw,3.5rem);

}



.about-logo{

    width:45px;

    animation:spin 60s linear infinite;

}



@keyframes spin{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}



.about-content{

    flex:1;

}



.about-content p{

    color:#cbd5e1;

    margin-bottom:1.5rem;

}



.about a{

    color:#38bdf8;

    text-decoration:none;

    font-weight:600;

    transition:var(--transition);

}



.about a:hover{

    color:white;

}



.about .mascot{

    flex:1;

    display:flex;

    justify-content:center;

}



.about .mascot img{

    width:100%;

    max-width:350px;

    filter:
    drop-shadow(
    0 20px 30px rgba(0,0,0,.5)
    );

}




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



.our-services{

    background:

    linear-gradient(
    rgba(2,6,23,.9),
    rgba(2,6,23,.9)
    ),

    url(images/digital-marketing3.jpg);


    background-size:cover;

    background-position:center;

}



.services-wrapper{

    padding:4rem 3rem;

    max-width:1300px;

    margin:auto;


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


    border-radius:30px;

    backdrop-filter:blur(12px);

}



.our-services .head-text{

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    margin-bottom:3rem;

}



.head-text h2{

    color:white;

    font-size:
    clamp(2rem,5vw,3.5rem);

}



.head-text p{

    color:var(--muted);

    max-width:700px;

}




/* SERVICE GRID */


.services-section{

    display:grid;

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

    gap:2rem;

}



.service-card{

    background:

    linear-gradient(
    145deg,
    rgba(255,255,255,.1),
    rgba(255,255,255,.03)
    );


    border:

    1px solid rgba(255,255,255,.1);


    border-radius:25px;


    overflow:hidden;


    transition:var(--transition);


}



.service-card:hover{

    transform:
    translateY(-12px);


    border-color:
    var(--primary);


    box-shadow:

    0 20px 50px
    rgba(37,99,235,.25);

}



.service-card .card-head{

    display:flex;

    flex-direction:column;

}



.service-card img{

    width:100%;

    height:230px;

    object-fit:cover;

    transition:.4s;

}



.service-card img:hover{

    transform:scale(1.05);

}



.services-section h3{

    background:
    linear-gradient(
    135deg,
    var(--primary),
    var(--secondary)
    );


    color:white;


    padding:1rem;


    font-size:1.4rem;


    cursor:pointer;

}



.services-section .list{

    display:none;

    padding:1rem 1.5rem;

}



.services-section ul{

    padding-left:1.5rem;

    color:#cbd5e1;

}



.services-section li{

    margin-bottom:.6rem;

}



.web-design-list.active,
.digital-marketing-list.active,
.branding-list.active,
.google-business-list.active{

    display:block;

}




/* ===============================
   PRICING SECTION
================================ */


.pricing{

    background:

    linear-gradient(
    135deg,
    #2563eb,
    #06b6d4
    );


    padding:5rem 5%;

}



.pricing h2{

    text-align:center;

    color:white;

    font-size:
    clamp(2rem,5vw,3rem);

    margin-bottom:3rem;

}



.pricing-container{

    display:grid;

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


    gap:2rem;


    background:transparent;

}



.pricing-container .card{

    padding:2rem;


    border-radius:25px;


    background:white;


    color:#020617;


    box-shadow:

    0 20px 40px
    rgba(0,0,0,.15);


    transition:var(--transition);

}



.pricing-container .card:hover{

    transform:
    translateY(-10px);

}



.pricing-container .card h3{

    font-size:1.8rem;

    margin-bottom:1rem;


}



.pricing-container .details{

    margin:1.5rem 0;

}



.pricing-container ul{

    list-style:none;

}



.pricing-container li{

    padding:.5rem 0;

    color:#475569;

}



.pricing-container a{

    display:inline-block;

    background:#03c855;

    color:white;


    padding:12px 25px;


    border-radius:50px;


    text-decoration:none;


    font-weight:700;


    transition:var(--transition);

}



.pricing-container a:hover{

    background:#020617;

}




/* ===============================
   PRICING CTA
================================ */


.pricing-cta{

    background:
    linear-gradient(
    135deg,
    #03c855,
    #059669
    );

}



.pricing-cta .contents{

    max-width:1200px;

    margin:auto;

    padding:5rem 2rem;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:4rem;

    color:white;

}



.pricing-cta p{

    font-size:1.5rem;

    font-weight:700;

}



.pricing-cta a{

    background:white;

    color:#03c855;

    padding:15px 35px;

    border-radius:50px;

    text-decoration:none;

    font-size:1.2rem;

    font-weight:700;

    transition:var(--transition);

}



.pricing-cta a:hover{

    background:#020617;

    color:white;

    transform:translateY(-5px);

}




/* ===============================
   CONTACT SECTION
================================ */



.contact{

    background:

    linear-gradient(
    rgba(2,6,23,.85),
    rgba(2,6,23,.85)
    ),

    url(images/marketing2.jpg);


    background-size:cover;

    background-position:center;


}



.contact-wrapper{

    max-width:1200px;

    margin:auto;

    padding:4rem 2rem;


    backdrop-filter:blur(10px);

}



.contact h2{

    text-align:center;

    color:white;


    font-size:
    clamp(2rem,5vw,3rem);


    margin-bottom:3rem;

}



.contact .content{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:3rem;


    background:white;

    padding:2rem;

    border-radius:30px;

}



.contact .content img{

    width:100%;

    max-width:500px;

    border-radius:20px;

    object-fit:cover;


    box-shadow:

    0 20px 40px rgba(0,0,0,.2);

}




/* CONTACT FORM SUPPORT */

.contact form{

    width:100%;

    display:flex;

    flex-direction:column;

    gap:1rem;

}



.contact input,
.contact textarea{

    width:100%;

    padding:15px;

    border:none;

    outline:none;


    background:#f1f5f9;


    border-radius:12px;


    font-size:1rem;

}



.contact button{

    background:var(--primary);

    color:white;

    padding:15px;

    border:none;


    border-radius:50px;


    font-weight:700;


    cursor:pointer;


    transition:var(--transition);

}



.contact button:hover{

    background:#020617;

}





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



footer{

    background:#020617;

    color:white;

    padding:4rem 5% 2rem;

}



.main{

    display:flex;

    justify-content:space-between;

    gap:3rem;

    flex-wrap:wrap;

}



.main h3{

    font-size:1.3rem;

    margin-bottom:1.5rem;

}



.main ul{

    list-style:none;

}



.main ul li{

    margin-bottom:1rem;

}



.main a{

    color:#cbd5e1;

    text-decoration:none;

    transition:var(--transition);

}



.main a:hover{

    color:#38bdf8;

}




.left{

    max-width:350px;

}



.footer-logo{

    display:flex;

    align-items:center;

    gap:1rem;

    margin-bottom:1rem;

}



.footer-logo img{

    width:40px;

}



.center ul{

    display:flex;

    flex-direction:column;

}

.right ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2.5rem;
}

.right a{

    display:flex;

    align-items:center;

    gap:0.25rem;

}



.right img{

    width:30px;

}



.rights{

    margin-top:3rem;

    text-align:center;

    color:#64748b;

    font-size:.9rem;

}



/* ===============================
   REVEAL ANIMATION
================================ */


.reveal{

    opacity:0;

    transform:
    translateY(40px);

    visibility:hidden;


    transition:

    opacity .8s ease,

    transform .8s ease;

}



.reveal.active{

    opacity:1;

    transform:
    translateY(0);

    visibility:visible;

}




.service-card:nth-child(2){

    transition-delay:.2s;

}



.service-card:nth-child(3){

    transition-delay:.4s;

}



#starter.reveal{

    transition-delay:.1s;

}



#growth.reveal{

    transition-delay:.3s;

}



#scale.reveal{

    transition-delay:.5s;

}




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

@media (min-width: 1100px) {
    .pricing-container {
        display: flex;
        gap: 2rem;
        width: 100%;
        align-items: stretch;
    }

    .card {
        flex: 1.2;
    }

    #growth {
        flex: 1.3;
    }

    #scale {
        flex: 1.5;
    }
}

/* LARGE TABLETS */

@media(max-width:1100px){


    .services-section{

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

    }


    .pricing-container{

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

    }


    .about-wrapper{

        gap:3rem;

    }


}



/* TABLETS */

@media(max-width:900px){



    nav{

        padding:0 1.5rem;

    }


    .nav-links ul{

        gap:1.2rem;
        align-items: center;

    }



    .about-wrapper{

        flex-direction:column;

        text-align:center;

    }


    .about-header{

        justify-content:center;

    }


    .services-section{

        grid-template-columns:1fr;

    }


    .pricing-container{

        grid-template-columns:1fr;

    }


    .contact .content{

        flex-direction:column;

    }



    .pricing-cta .contents{

        flex-direction:column;

        text-align:center;

    }



}





/* MOBILE NAVIGATION */

@media(max-width:800px){



    .burger-menu{

        display:flex;

    }



    .nav-links{

        position:fixed;

        top:80px;

        left:0;


        width:100%;


        transform:
        translateX(-100%);


        transition:.35s ease;


        z-index:999;

    }



    .nav-links.active{

        transform:
        translateX(0);

    }



    .nav-links ul{

        background:#020617;


        min-height:calc(100vh - 80px);


        padding:3rem 2rem;


        display:flex;


        flex-direction:column;


        gap:2rem;

    }



    .nav-links a{

        color:white;

        font-size:1.3rem;

    }



    .hero{

        min-height:80vh;

        padding:5rem 1.5rem;

    }



    .hero h1{

        font-size:2.7rem;

    }



    .hero p{

        font-size:1rem;

    }



    .hero .cta{

        flex-direction:column;

        width:100%;

    }



    .hero .cta a{

        width:100%;

    }



    .about-wrapper{

        padding:2rem 1.2rem;

    }



    .services-wrapper{

        padding:2rem 1rem;

    }



    .service-card img{

        height:200px;

    }



    .pricing{

        padding-inline:1rem;

    }



    .contact-wrapper{

        padding-inline:1rem;

    }



}




/* SMALL PHONES */

@media(max-width:600px){



    p,
    ul{

        font-size:1rem;

    }



    .logo p{

        font-size:1.2rem;

    }



    .logo img{

        width:35px;

    }



    .hero h1{

        font-size:2.2rem;

    }



    .hero .cta a{

        padding:13px 20px;

    }



    .call-email{

        gap:1rem;

        flex-direction:column;

        text-align:center;

    }



    .about-header h2{

        font-size:2rem;

    }



    .about .mascot img{

        max-width:260px;

    }



    .head-text h2{

        font-size:2rem;

    }



    .pricing-container .card{

        padding:1.5rem;

    }



    .pricing-cta p{

        font-size:1.2rem;

    }



    footer{

        padding:3rem 1.5rem 1.5rem;

    }



    .main{

        flex-direction:column;

        gap:2rem;

    }


}



/* EXTRA SMALL DEVICES */

@media(max-width:400px){



    .hero h1{

        font-size:1.9rem;

    }



    .hero p{

        font-size:.95rem;

    }



    .burger-menu span{

        width:28px;

    }



}