*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
font-family:'Poppins',sans-serif;
}

body.dark{

background:#121212;
color:#f5f5f5;

}

/* Navbar */
body.dark header{

background:rgba(20,20,20,.9);

}

/* Hero */
body.dark .hero{

background:linear-gradient(135deg,#101010,#1b1b1b);

}

body.dark .hero h1{

color:#ffe600;

}

body.dark .hero h2{

color:#ffffff;

}

body.dark .hero p{

color:#cccccc;

}

/* Services */
body.dark .services{

background:#181818;

}

/* About */
body.dark .about{

background:#202020;

}

/* Contact */
body.dark .contact{

background:#1a1a1a;

}

/* Footer */
body.dark footer{

background:#000;

}

/* Section headings */
body.dark .section-title h2,
body.dark .about h2{

color:#ffe600;

}

body.dark .section-title p,
body.dark .about p{

color:#d0d0d0;

}

/*smooth dark mode and light mode*/
body,
section,
header,
footer,
.service-card,
.plan,
input,
textarea,
button,
a,
.navbar,
.hero,
.about,
.services,
.contact {

    transition:
        background-color .35s ease,
        color .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;

}

body{
background:#ffffff;
color:#222;
overflow-x:hidden;
}

/* NAVBAR */

header{

position:fixed;
width:100%;
top:0;
left:0;
z-index:999;

background:rgba(75,57,211,.85);

backdrop-filter:blur(15px);

-webkit-backdrop-filter:blur(15px);

box-shadow:0 5px 20px rgba(0,0,0,.12);

}

.navbar{

max-width:1300px;
margin:auto;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 40px;

}

.logo{

display:flex;

align-items:center;

gap:10px;

font-size:22px;

font-weight:700;

color:white;

}

.logo img{

width:50px;

height:50px;

border-radius:10px;

}

.nav-links{

display:flex;

gap:40px;

list-style:none;

}

.nav-links a{

text-decoration:none;

color:white;

font-size:18px;

font-weight:500;

transition:.3s;

}

.nav-links a:hover{

color:#ffe600;

}

.nav-buttons{

display:flex;

align-items:center;

gap:20px;

}

#themeToggle{

width:48px;
height:48px;

border:none;

border-radius:50%;

background:#ffe600;

cursor:pointer;

font-size:20px;

transition:.3s;

display:flex;
align-items:center;
justify-content:center;

}

#themeToggle:hover{

transform:rotate(180deg) scale(1.1);

}

.menu-btn{

display:none;

font-size:30px;

color:white;

cursor:pointer;

}

/* HERO */

.hero{

height:100vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

padding:0 20px;

background:linear-gradient(135deg,#c7bebe,#eef3ff);

}

.hero-content{

max-width:900px;

}

.hero h1{

font-size:65px;

color:#4b39d3;

margin-bottom:20px;

font-weight:800;

text-shadow:0 5px 20px rgba(0,0,0,.15);

}

.hero h2{

font-size:48px;

margin-bottom:20px;

color:#5b2cff;

}

.hero p{

font-size:22px;

color:#555;

margin-bottom:40px;

}

.hero-btn{

display:inline-block;

padding:18px 45px;

border-radius:50px;

background:linear-gradient(90deg,#4b39d3,#6c5ce7);

color:white;

font-weight:700;

text-decoration:none;

transition:.35s;

box-shadow:0 10px 25px rgba(75,57,211,.35);

}

.hero-btn:hover{

transform:translateY(-5px) scale(1.05);

}


/* ================= SERVICES ================= */

.services{
padding:100px 8%;
background:#f7f9ff;
}

.section-title{
text-align:center;
margin-bottom:70px;
}

.section-title h2{
font-size:45px;
color:#4b39d3;
margin-bottom:15px;
}

.section-title p{
font-size:18px;
color:#666;
max-width:700px;
margin:auto;
}

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
gap:35px;
}

.service-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 12px 30px rgba(0,0,0,.08);
transition:.35s;
}

.service-card:hover{
transform:translateY(-12px);
}

.service-card img{
width:100%;
height:240px;
object-fit:cover;
}

.service-content{
padding:25px;
}

.service-content h3{
color:#4b39d3;
margin-bottom:20px;
font-size:28px;
}

.service-content ul{
list-style:none;
margin-bottom:25px;
}

.service-content li{
padding:6px 0;
}

.btn{
display:inline-block;
margin-top:20px;
background:#4b39d3;
color:white;
padding:14px 28px;
border-radius:10px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn:hover{
background:#ffe600;
color:#111;
}

.plans{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:25px;
}

.plan{
border:2px solid #4b39d3;
padding:20px;
text-align:center;
border-radius:15px;
position:relative;
}

.popular{
border-color:#ffd400;
}

.popular small{
position:absolute;
top:-12px;
left:50%;
transform:translateX(-50%);
background:#ffd400;
padding:5px 15px;
border-radius:20px;
font-weight:bold;
}

.plan h4{
font-size:26px;
margin-bottom:10px;
}

.plan span{
display:block;
font-size:20px;
margin-bottom:18px;
}

.plan-btn{
width:100%;
padding:12px;
background:#4b39d3;
color:white;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:600;
transition:.3s;
}

.plan-btn:hover{
background:#ffd400;
color:#111;
}


body.dark .services{
    background:#181818;
}

body.dark .service-card{
    background:#242424;
    color:#fff;
}

body.dark .service-card h3{
    color:#ffe600;
}

body.dark .service-content p,
body.dark .service-content li,
body.dark .service-content span{
    color:#ddd;
}

body.dark .plan{
    border:2px solid #666;
}

body.dark .plan-btn{
    background:#6c5ce7;
}

body.dark .plan-btn:hover{
    background:#ffe600;
    color:#111;
}


/* ================= ABOUT ================= */

.about{

padding:100px 8%;

background:white;

}

.about-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}










.about-image{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}

.about-image img{
    width:100%;
    max-width:600px;
    height:450px;
    object-fit:cover;
    display:block;
    border-radius:20px;
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}










/*
.about-image img{

width:100%;

border-radius:20px;

box-shadow:0 20px 40px rgba(0,0,0,.15);

}*/

.about h2{

font-size:42px;

margin-bottom:25px;

color:#4b39d3;

}

.about p{

font-size:18px;

line-height:1.8;

margin-bottom:18px;

}

.stats{

display:flex;

gap:35px;

margin-top:35px;

}

.stat{

text-align:center;

}

.stat h3{

font-size:42px;

color:#4b39d3;

}

.stat span{

font-size:18px;

}


body.dark .about{
    background:#181818;
}

body.dark .about h2{
    color:#ffe600;
}

body.dark .about p{
    color:#ddd;
}

body.dark .stat span{
    color:#ddd;
}

body.dark .stat h3{
    color:#ffe600;
}

/* CONTACT */

.contact{

padding:100px 8%;

background:#4b39d3;

color:white;

text-align:center;

}

.contact h2{

font-size:42px;

}

.contact-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

margin-top:50px;

}

.contact-form input,

.contact-form textarea{

width:100%;

padding:18px;

margin-bottom:20px;

border:none;

border-radius:12px;

font-size:16px;

}

.contact-form button{

width:100%;

padding:18px;

background:#ffe600;

font-weight:700;

border:none;

border-radius:12px;

cursor:pointer;

}

.contact-info{

text-align:left;

}

.contact-info p{

margin-bottom:20px;

font-size:18px;

}

.contact-info iframe{

width:100%;

height:300px;

border:none;

border-radius:15px;

margin-top:20px;

}

/* FOOTER */

footer{

background:#111;

padding:60px 8% 25px;

color:white;

}

.footer-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:50px;

}

.footer-container a{

display:block;

color:#ddd;

text-decoration:none;

margin:10px 0;

}

.footer-container a:hover{

color:#ffe600;

}

.copyright{

margin-top:45px;

text-align:center;

border-top:1px solid #444;

padding-top:20px;

}

/* Floating WhatsApp */

.floating-whatsapp{

position:fixed;

bottom:30px;

right:30px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

align-items:center;

justify-content:center;

color:white;

font-size:34px;

text-decoration:none;

box-shadow:0 10px 30px rgba(0,0,0,.3);

z-index:999;

transition:.3s;

}

.floating-whatsapp:hover{

transform:scale(1.15);

}
/* ================= LOADER ================= */

#loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:white;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

transition:.5s;

}

.loader-content{

text-align:center;

}

.spinner{

width:80px;

height:80px;

border:8px solid #eee;

border-top:8px solid #4b39d3;

border-radius:50%;

animation:spin 1s linear infinite;

margin:auto;

margin-bottom:20px;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

#topBtn{

position:fixed;

right:25px;

bottom:110px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#4b39d3;

color:white;

font-size:20px;

display:none;

cursor:pointer;

box-shadow:0 10px 25px rgba(0,0,0,.2);

transition:.3s;

z-index:999;

}

#topBtn:hover{

transform:translateY(-5px);

}


<!--darkmode-->
body.dark{

background:#121212;

color:white;

}

body.dark .service-card{

background:#222;

color:white;

}

body.dark .about{

background:#181818;

}

body.dark footer{

background:black;

}

body.dark .hero{

background:linear-gradient(135deg,#111,#222);

}

body.dark input,

body.dark textarea{

background:#333;

color:white;

}

body.dark{

    background:#121212;
    color:#fff;

}

body.dark .section-title p{

    color:#ccc;

}

body.dark .hero p{

    color:#ddd;

}

body.dark footer{

    background:#000;

}

body.dark .contact{

    background:#222;

}

body.dark .contact p{

    color:#ddd;

}

body.dark .contact-info p{

    color:#ddd;

}

body.dark input,
body.dark textarea{

    background:#2f2f2f;
    color:white;
    border:1px solid #555;

}

body.dark input::placeholder,
body.dark textarea::placeholder{

    color:#aaa;

}


/* ================= PROJECTS ================= */

.projects{

padding:100px 8%;

background:#f8f9fc;

}

.project-filter{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin:40px 0;

}

.filter-btn{

padding:12px 25px;

border:none;

border-radius:30px;

background:#4b39d3;

color:white;

cursor:pointer;

font-weight:600;

transition:.3s;

}

.filter-btn.active,
.filter-btn:hover{

background:#ffd400;

color:#111;

}

.project-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

}

.project-card{

position:relative;

overflow:hidden;

border-radius:18px;

cursor:pointer;

box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.project-card img{

width:100%;

height:260px;

object-fit:cover;

transition:.5s;

}

.project-card:hover img{

transform:scale(1.08);

}

.overlay{

position:absolute;

bottom:-100%;

left:0;

width:100%;

padding:25px;

background:rgba(0,0,0,.75);

color:white;

transition:.4s;

}

.project-card:hover .overlay{

bottom:0;

}