html{
    scroll-behavior:smooth;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Poppins",sans-serif;
    background:#09090B;
    color:#fff;
    overflow-x:hidden;
}

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;

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

    padding:25px 10%;

    background:rgba(9,9,11,.35);
    backdrop-filter:blur(18px);

    transition:
        padding .35s ease,
        background .35s ease,
        box-shadow .35s ease;

    z-index:1000;
}

.navbar.scrolled{

    padding:18px 10%;

    background:rgba(9,9,11,.75);

    box-shadow:0 10px 30px rgba(0,0,0,.35);

}

nav a.active{

    color:#7c5cff;

}

nav a.active::after{

    width:100%;

}

.logo{

    font-size:28px;

    font-weight:700;

    cursor:pointer;

    transition:.35s;

}

.logo:hover{

    color:#7c5cff;

    transform:scale(1.08);

    text-shadow:0 0 20px rgba(124,92,255,.7);

}

nav{

    display:flex;

    gap:40px;

}

nav a{
    color:#fff;
    text-decoration:none;
    position:relative;
    transition:.3s;
    font-weight:500;
}

nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:#7c5cff;
    transition:.3s;
}

nav a:hover{
    color:#7c5cff;
}

nav a:hover::after{
    width:100%;
}

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:80px;
    padding:120px 10%;
}

.hero-left{
    flex:1;
}

.hero-right{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image{
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image img{
    width:100%;
    max-width:500px;
    height:auto;

    transition:
        transform .5s ease,
        opacity .5s ease,
        filter .5s ease;

    filter:
        drop-shadow(0 15px 40px rgba(0,0,0,.45))
        drop-shadow(0 0 30px rgba(124,92,255,.25));
}

.hero-image img:hover{

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

    opacity:.92;

    filter:
        brightness(1.08)
        drop-shadow(0 25px 60px rgba(124,92,255,.45));

}

.description{

    max-width:620px;

    margin-top:25px;

    color:#A1A1AA;

    line-height:1.9;

    font-size:18px;

}

.buttons{

    margin-top:45px;

    display:flex;

    gap:20px;

}

.btn{
    padding:16px 38px;
    border-radius:999px;
    text-decoration:none;
    font-weight:500;
    transition:.35s;
}

.primary{
    background:linear-gradient(135deg,#7c5cff,#4F46E5);
    color:#fff;
    box-shadow:0 0 25px rgba(79,70,229,.4);
}

.primary:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 40px rgba(79,70,229,.45);
}

.secondary{
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(12px);
    color:#fff;
}

.secondary:hover{
    background:#4F46E5;
    border-color:#4F46E5;
}

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-20px);

    }

    100%{

        transform:translateY(0px);

    }

}

.background{
    position:fixed;
    inset:0;
    overflow:hidden;
    z-index:-1;
}

.blur{
    position:absolute;
    border-radius:50%;
    filter:blur(140px);
    opacity:.35;
}

.blur1{
    width:600px;
    height:600px;
    background:#6d5dfc;
    top:-200px;
    right:-100px;
    animation:move1 18s ease-in-out infinite alternate;
}

.blur2{
    width:450px;
    height:450px;
    background:#00bfff;
    bottom:-150px;
    left:-100px;
    animation:move2 15s ease-in-out infinite alternate;
}

.blur3{
    width:300px;
    height:300px;
    background:#9333ea;
    top:45%;
    left:40%;
    animation:move3 12s ease-in-out infinite alternate;
}

.hello{
    color:#7c5cff;
    font-size:20px;
    margin-bottom:15px;
}

.hero h1{
    font-size:78px;
    line-height:1;
    font-weight:700;
}

.hero h1 span{
    display:block;
}

.hero h2{
    margin-top:25px;
    color:#38bdf8;
    font-size:34px;
    font-weight:600;
}

@keyframes move1{
    from{
        transform:translate(0,0);
    }
    to{
        transform:translate(-120px,120px);
    }
}

@keyframes move2{
    from{
        transform:translate(0,0);
    }
    to{
        transform:translate(150px,-120px);
    }
}

@keyframes move3{
    from{
        transform:translate(0,0);
    }
    to{
        transform:translate(-80px,80px);
    }
}

.status{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:10px 18px;

    margin-bottom:25px;

    border-radius:50px;

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

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

    font-size:14px;

    color:#d4d4d8;
}

.dot{
    width:10px;
    height:10px;

    border-radius:50%;

    background:#22c55e;

    box-shadow:0 0 15px #22c55e;

    animation:pulse 2s infinite;
}

@keyframes pulse{

    0%{
        transform:scale(1);
        opacity:1;
    }

    50%{
        transform:scale(1.4);
        opacity:.5;
    }

    100%{
        transform:scale(1);
        opacity:1;
    }

}

.socials{

    display:flex;

    gap:18px;

    margin-top:40px;

}

.socials a{

    width:52px;

    height:52px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

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

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

    color:white;

    text-decoration:none;

    transition:.35s;

    font-size:20px;

}

.socials a:hover{

    background:#7c5cff;

    transform:translateY(-6px);

    box-shadow:0 10px 30px rgba(124,92,255,.45);

}

/* Copy Email Button */

.copy-email{

    width:52px;
    height:52px;

    border:none;
    outline:none;

    cursor:pointer;

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

    border-radius:50%;

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

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

    color:#fff;

    font-size:20px;

    transition:.35s;
}

.copy-email:hover{

    background:#7c5cff;

    transform:translateY(-6px);

    box-shadow:0 10px 30px rgba(124,92,255,.45);

}

.copy-message{

    margin-top:18px;

    color:#22c55e;

    font-size:15px;

    opacity:0;

    transition:.3s;

}

.copy-message.show{

    opacity:1;

}

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

.about{

    padding:120px 10%;

}

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title span{

    color:#7c5cff;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:14px;

}

.section-title h2{

    font-size:48px;

    margin-top:12px;

}

.about-container{

    display:grid;

    grid-template-columns:1.4fr 1fr;

    gap:70px;

    align-items:center;

}

.about-left h3{

    font-size:34px;

    margin-bottom:25px;

}

.about-left p{

    color:#A1A1AA;

    line-height:1.9;

    margin-bottom:22px;

    font-size:17px;

}

.about-right{

    display:grid;

    gap:20px;

}

.info-card{

    padding:25px;

    border-radius:18px;

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

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

    backdrop-filter:blur(10px);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-8px);

    border-color:#7c5cff;

    box-shadow:0 15px 35px rgba(124,92,255,.20);

}

.info-card h4{

    color:#7c5cff;

    margin-bottom:10px;

}

.info-card p{

    color:#d4d4d8;

}

/* ================= SKILLS ================= */

.skills{

    padding:120px 10%;

}

.skills-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

}

.skill-card{

    padding:35px;

    border-radius:20px;

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

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

    backdrop-filter:blur(12px);

    transition:.35s;

}

.skill-card:hover{

    transform:translateY(-12px);

    border-color:#7c5cff;

    box-shadow:0 15px 40px rgba(124,92,255,.25);

}

.skill-card i{

    font-size:42px;

    color:#7c5cff;

    margin-bottom:20px;

}

.skill-card h3{

    margin-bottom:18px;

    font-size:24px;

}

.skill-card p{

    color:#A1A1AA;

    line-height:1.8;

}

/* ================= PROJECTS ================= */

.projects{

    padding:120px 10%;

}

.projects-container{

    display:flex;
    flex-direction:column;
    gap:80px;

}

.project-card{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;

}

.project-card.reverse{

    direction:rtl;

}

.project-card.reverse .project-content{

    direction:ltr;

}

.project-image{

    overflow:hidden;

    border-radius:20px;

}

.project-image img{

    width:100%;
    display:block;

    transition:.5s;

}

.project-image:hover img{

    transform:scale(1.06);

}

.project-content h3{

    font-size:36px;

    margin:20px 0;

}

.project-content p{

    color:#A1A1AA;

    line-height:1.8;

    margin-bottom:25px;

}

.project-tag{

    color:#7c5cff;

    font-weight:600;

}

.tech-stack{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-bottom:30px;

}

.tech-stack span{

    padding:8px 16px;

    border-radius:50px;

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

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

}

.project-buttons{

    display:flex;

    gap:18px;

}

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

.contact{

    padding:120px 10%;

}

.contact-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

}

.contact-info h3{

    font-size:34px;

    margin-bottom:25px;

}

.contact-info p{

    color:#A1A1AA;

    line-height:1.9;

}

.contact-item{

    display:flex;

    gap:20px;

    margin-top:35px;

    align-items:center;

}

.contact-item i{

    width:60px;

    height:60px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#7c5cff;

    font-size:22px;

}

.contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.contact-form input,
.contact-form textarea{

    padding:18px;

    border:none;

    outline:none;

    border-radius:15px;

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

    color:#fff;

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

    font-family:"Poppins",sans-serif;

}

.contact-form textarea{

    resize:none;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:#7c5cff;

}

.project-status{
    position:absolute;
    top:20px;
    right:20px;
    background:#22c55e;
    color:#fff;
    padding:8px 16px;
    border-radius:999px;
    font-size:13px;
    font-weight:600;
    box-shadow:0 10px 25px rgba(34,197,94,.35);
}

.project-image{
    position:relative;
    overflow:hidden;
    border-radius:20px;
}

.project-image img{
    transition:.6s;
}

.project-card:hover .project-image img{
    transform:scale(1.08);
}

.project-info{
    display:flex;
    gap:40px;
    margin:25px 0;
}

.project-info strong{
    display:block;
    color:#7c5cff;
    margin-bottom:6px;
}

.project-info p{
    color:#bcbcbc;
}

.project-buttons{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

/* ==========================
   PROJECT DETAILS PAGE
========================== */

.project-hero{

    position:relative;

    height:100vh;

    overflow:hidden;

}

.project-hero img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        rgba(0,0,0,.75),
        rgba(9,9,11,.95)
    );

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:0 10%;

}

.overlay h1{

    font-size:64px;

    margin:20px 0;

}

.overlay p{

    max-width:700px;

    color:#d4d4d4;

    line-height:1.8;

    margin-bottom:40px;

}

.project-details{

    padding:120px 10%;

}

.project-details h2{

    margin-top:60px;

    margin-bottom:20px;

    color:#7c5cff;

}

.project-details p{

    color:#cfcfcf;

    line-height:1.9;

}

.feature-list{

    margin-top:20px;

    display:grid;

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

    gap:15px;

    list-style:none;

}

.feature-list li{

    background:#17171b;

    padding:18px;

    border-radius:12px;

    transition:.3s;

}

.feature-list li:hover{

    transform:translateY(-5px);

    background:#22222a;

}

/* =======================
   PROJECT GALLERY
======================= */

.gallery{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:25px;

    margin-top:40px;

}

.gallery img{

    width:100%;

    border-radius:20px;

    cursor:pointer;

    transition:.4s;

    box-shadow:0 15px 40px rgba(0,0,0,.35);

}

.gallery img:hover{

    transform:translateY(-10px) scale(1.03);

}

/* ==========================
   LIGHTBOX
========================== */

.lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

.lightbox img{
    max-width:90%;
    max-height:90%;
    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}

#close{
    position:absolute;
    top:25px;
    right:40px;
    color:#fff;
    font-size:40px;
    cursor:pointer;
}

/* ==========================
   HIRE ME NAV BUTTON
========================== */

.hire-nav{
    padding:10px 20px;
    border-radius:999px;
    background:linear-gradient(135deg,#7c5cff,#4F46E5);
    color:#fff !important;
    box-shadow:0 0 20px rgba(124,92,255,.35);
    transition:.35s ease;
}

.hire-nav:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(124,92,255,.45);
    color:#fff !important;
}

.hire-nav i{
    margin-right:8px;
}

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

.hire-hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:140px 10% 100px;

}

.hire-container{

    max-width:900px;

    text-align:center;

}

.hire-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:999px;

    background:rgba(124,92,255,.15);

    border:1px solid rgba(124,92,255,.3);

    color:#7c5cff;

    margin-bottom:30px;

    font-weight:600;

}

.hire-badge i{

    font-size:10px;

    color:#22c55e;

}

.hire-hero h1{

    font-size:68px;

    line-height:1.1;

    margin-bottom:25px;

}

.hire-hero h1 span{

    display:block;

    background:linear-gradient(135deg,#7c5cff,#38bdf8);

    background-clip:text;
    -webkit-background-clip:text;

    color:transparent;
    -webkit-text-fill-color:transparent;

}

.hire-hero p{

    color:#A1A1AA;

    font-size:20px;

    line-height:1.9;

    max-width:760px;

    margin:auto;

}

.hire-buttons{

    margin-top:50px;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

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

.services{

    padding:120px 10%;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

.service-card{

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

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

    border-radius:24px;

    padding:35px;

    transition:.35s;

    backdrop-filter:blur(20px);

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:#7c5cff;

    box-shadow:0 20px 50px rgba(124,92,255,.25);

}

.service-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:linear-gradient(135deg,#7c5cff,#38bdf8);

    color:#fff;

    font-size:28px;

    margin-bottom:25px;

}

.service-card h3{

    margin-bottom:15px;

    font-size:24px;

}

.service-card p{

    color:#a1a1aa;

    line-height:1.8;

    margin-bottom:20px;

}

.service-card ul{

    list-style:none;

    padding:0;

}

.service-card li{

    margin:12px 0;

    color:#ddd;

}

.service-card li::before{

    content:"✓ ";

    color:#7c5cff;

    font-weight:bold;

}

/* ================= WHY HIRE ================= */

.why-hire{
    padding:120px 10%;
}

.why-grid{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
}

.why-card{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:40px 30px;
    transition:.4s;
    backdrop-filter:blur(12px);
}

.why-card:hover{
    transform:translateY(-10px);
    border-color:#7c5cff;
    box-shadow:0 25px 60px rgba(124,92,255,.25);
}

.why-card i{
    font-size:38px;
    color:#7c5cff;
    margin-bottom:20px;
}

.why-card h3{
    font-size:24px;
    margin-bottom:15px;
}

.why-card p{
    color:#a8a8a8;
    line-height:1.8;
}

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

.process{

    padding:120px 10%;

}

.process-timeline{

    margin-top:70px;

    display:flex;

    flex-direction:column;

    gap:35px;

}

.process-card{

    display:flex;

    align-items:flex-start;

    gap:30px;

    padding:35px;

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

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

    border-radius:25px;

    transition:.35s;

}

.process-card:hover{

    transform:translateX(10px);

    border-color:#7c5cff;

    box-shadow:0 20px 40px rgba(124,92,255,.20);

}

.process-number{

    min-width:75px;

    height:75px;

    border-radius:50%;

    background:linear-gradient(135deg,#7c5cff,#38bdf8);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:26px;

    font-weight:700;

}

.process-content h3{

    margin-bottom:15px;

    font-size:24px;

}

.process-content p{

    color:#b5b5b5;

    line-height:1.8;

}

/* ===============================
   TECHNOLOGIES
================================ */

.tech-section{

    padding:120px 10%;

}

.tech-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:25px;

    margin-top:60px;

}

.tech-item{

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

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

    border-radius:20px;

    padding:35px 20px;

    text-align:center;

    transition:.35s;

}

.tech-item:hover{

    transform:translateY(-10px);

    border-color:#7c5cff;

    box-shadow:0 20px 50px rgba(124,92,255,.2);

}

.tech-item i{

    font-size:42px;

    color:#7c5cff;

    margin-bottom:18px;

}

.tech-item span{

    display:block;

    font-size:16px;

    font-weight:600;

}
/* ===============================
   CALL TO ACTION
================================ */

.hire-cta{

    padding:140px 10%;

    text-align:center;

}

.hire-cta-content{

    max-width:900px;

    margin:auto;

}

.hire-cta span{

    color:#7c5cff;

    font-weight:700;

    letter-spacing:2px;

}

.hire-cta h2{

    font-size:58px;

    margin:20px 0;

}

.hire-cta p{

    color:#b8b8b8;

    font-size:20px;

    line-height:1.8;

}

.hire-cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:50px;

}

/* ===============================
   CONTACT BOXES
================================ */

.hire-contact{

    padding:0 10% 120px;

}

.contact-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

.contact-box{

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

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

    border-radius:24px;

    padding:40px;

    text-align:center;

    transition:.35s;

}

.contact-box:hover{

    transform:translateY(-10px);

    border-color:#7c5cff;

    box-shadow:0 20px 50px rgba(124,92,255,.25);

}

.contact-box i{

    font-size:40px;

    color:#7c5cff;

    margin-bottom:20px;

}

.contact-box h3{

    margin-bottom:10px;

}

.contact-box p{

    color:#b5b5b5;

}