html,
body{
    width:100%;
    overflow-x:hidden;
}

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

html{
    scroll-behavior:smooth;
    scroll-padding-top:130px;
}

:root{
    --accent: #8B5CF6;

    --primary-color: #ffffff;

    background:var(--card-bg);

    --text-secondary: #b5b5b5;

    --card-bg: #151515;
}

body{

    font-family:'Sora',sans-serif;

    background:#09090b;

    color:white;

    overflow-x:hidden;

    position:relative;

}

body::before{

    content:"";

    position:fixed;

    top:-300px;

    right:-250px;

    width:700px;

    height:700px;

    background:var(--accent);

    border-radius:50%;

    filter:blur(180px);

    opacity:.12;

    z-index:-1;

}


/*============================
      SCROLL PROGRESS BAR
=============================*/

.progress-wrapper{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:4px;

    z-index:99999;

    pointer-events:none;

}

#progress-bar{

    position:absolute;

    left:0;

    top:0;

    width:0;

    height:100%;

    background:linear-gradient(
        90deg,
        #8B5CF6,
        #A855F7,
        #C084FC
    );

    box-shadow:
        0 0 10px #8B5CF6,
        0 0 25px #8B5CF6,
        0 0 45px #8B5CF6;

    transition:width .08s linear;

}

.progress-dot{

    position:absolute;

    top:50%;

    left:0;

    width:30px;

    height:30px;

    border-radius:50%;

    background:rgba(255, 255, 255, 0.723);

    transform:translate(-50%,-50%);

    box-shadow:
        0 0 10px #fff,
        0 0 20px #8B5CF6,
        0 0 40px #8B5CF6,
        0 0 70px #8B5CF6;

    transition:left .08s linear;

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

.navbar{
    top:0;
    left:0;
    width:100%;
    padding:20px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:1000;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    background:rgba(12,12,18,.72);
    border-bottom:1px solid rgba(255,255,255,.05);
    box-shadow: 0 8px 35px rgba(0,0,0,.35);
    transition:.35s ease;
    overflow: hidden;
    position: relative;
}

.navbar::before{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(139,92,246,.22) 0%,
    rgba(139,92,246,.08) 45%,
    transparent 75%);

    left: var(--mouse-x, -150px);

top: var(--mouse-y, -150px);

transform: translate(-50%, -50%);

pointer-events: none;

transition:
left .08s linear,
top .08s linear;
}

.logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    text-decoration:none;
    animation:logoFloat 2.2s ease-in-out infinite;
}

@keyframes logoFloat{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-3px);

}

100%{

transform:translateY(0px);

}

}

.logo img{
    width:90px;
    height:90px;
    object-fit:contain;
    transition:
    transform .35s ease,
    filter .35s ease,
    opacity .35s ease;

    cursor:pointer;
}

.logo:hover img{

    filter:
    drop-shadow(0 0 8px var(--accent))
    drop-shadow(0 0 18px var(--accent));
    transform:scale(1.08) rotate(-3deg);

}

.logo.active img{
    transform:scale(1.08);
    filter:
        drop-shadow(0 0 8px var(--accent))
        drop-shadow(0 0 18px var(--accent))
        drop-shadow(0 0 35px rgba(184,104,255,.8));
}

.logo::after{

content:"Click to Change Colour";

position:absolute;

top:105%;

left:50%;

transform:translateX(-50%);

font-size:11px;

white-space:nowrap;

padding:4px 8px;

background:#181818;

color:#fff;

border-radius:6px;

opacity:0;

transition:.3s;

pointer-events:none;

}

.logo:hover::after{

opacity:1;

}

.logo.clicked::after{

    animation:logoPulse .6s ease-out;
}

@keyframes logoPulse{

    0%{
        transform:translate(-50%,-50%) scale(0);
        opacity:1;
    }

    100%{
        transform:translate(-50%,-50%) scale(10);
        opacity:0;
    }

}

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

    z-index: 9999;
}

.nav-links{
    display:flex;
    gap:35px;
    list-style:none;
}

.nav-links a{

    position:relative;

    overflow:hidden;

    color:#cfcfcf;

    text-decoration:none;

    transition:.3s;

}

.nav-links a:hover::after{

    transform:scaleX(1);

}

.nav-links a:hover,
.nav-links a.active{
    color:var(--accent);
}


.nav-links a::after{
    content:"";

    position:absolute;

    left:50%;

    bottom:-2px;

    width:0;

    height:3px;

    border-radius:20px;

    background:var(--accent);

    transform:translateX(-50%);

    transition:.35s ease;

    box-shadow:
        0 0 10px var(--accent),
        0 0 25px var(--accent);

}

.nav-links a:hover::after,
.nav-links a.active::after{

    width:80%;

}

.resume-btn{
    color:white;
    text-decoration:none;
    border:1px solid var(--accent);
    padding:12px 28px;
    border-radius:30px;
}

.resume-btn:hover{
    background:var(--accent);
}

.menu-toggle{
    display:none;
    font-size:28px;
    color:white;
    cursor:pointer;
}

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

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:170px 8% 120px;

    position: relative;

    overflow:hidden;

    z-index: 1;

}



.hero-content{

    width:100%;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

}

.hero-tag{

    color:var(--accent);

    letter-spacing:4px;

    font-size:14px;

    margin-bottom:20px;

    display:inline-block;

}

.hero h1{

    font-size:72px;

    line-height:1.1;

    margin-bottom:20px;

}

.hero h1 span{

    color:var(--accent);

}

.hero h2{

    font-size:34px;

    color:#ddd;

    margin-bottom:25px;

}

.hero p{

    color:#999;

    line-height:1.8;

    max-width:550px;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

}

.hero .primary-btn {

    background:var(--accent);

    color:white;

    padding:16px 34px;

    border-radius:50px;

    text-decoration:none;

    transition:.3s;

    will-change: transform;

}

.primary-btn:hover{

    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 15px 40px rgba(139,92,246,.45);

}

.secondary-btn{

    border:1px solid var(--accent);

    color:white;

    padding:16px 34px;

    border-radius:50px;

    text-decoration:none;

    transition:.3s;

    will-change: transform;
}

.secondary-btn:hover{

    background:var(--accent);

}

.hero-image{

    display:flex;

    justify-content:center;

}

.image-circle{

    width:450px;

    height:450px;

    border-radius:50%;

    overflow:hidden;

    border:8px solid var(--accent);

   box-shadow:
0 0 18px rgba(139,92,246,.6),
0 0 45px rgba(139,92,246,.28),
0 0 80px rgba(139,92,246,.12);

}

.image-circle img{

    width:100%;

    height:100%;

    object-fit:cover;

}

#typing::after{
    content:"|";
    color:var(--accent);
    animation:blink .8s infinite;
}

@keyframes blink{

    50%{
        opacity:0;
    }

}

.image-circle{

    animation:float 4s ease-in-out infinite;

}

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0px);

    }

}

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

.about{

    padding:120px 8%;
    position: relative;
z-index: 1;

}

.about-container{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:70px;

    align-items:center;

}

.about-left h2{

    font-size:48px;

    margin-bottom:30px;

}

.about-left p{

    color:#BDBDBD;

    line-height:1.9;

    margin-bottom:25px;

    font-size:17px;

}

.about-right{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.about-card{

    background:#141414;

    border:1px solid rgba(139,92,246,.25);

    border-radius:20px;

    padding:30px;

    transition:.3s;
    cursor:pointer;

}

.about-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);

    box-shadow:0 0 30px rgba(139,92,246,.25);

}

.about-card h3{

    color:var(--accent);

    margin-bottom:10px;

}

.about-card p{

    color:#ddd;

}

.stats-grid{

    display:grid;

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

    gap:20px;

    margin-top:30px;

    max-width:1000px;

    margin-left:auto;

    margin-right:auto;

}

.stat-card{

    background:#151515;

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

    border-radius:20px;

    padding:20px 20px;

    min-height:160px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);

}

.stat-card h2{

    color:var(--accent);

    font-size:48px;

    margin-bottom:10px;

}

.stat-card p{

    color:#bdbdbd;

}

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

.skills{

    padding:120px 8%;
position: relative;
z-index: 1;
}

.section-title{

    font-size:48px;

    text-align:center;

    margin-bottom:70px;

}

.skills-grid{

    display:grid;

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

    gap:30px;

}

.skill-card{

    background:#141414;

    border:1px solid rgba(139,92,246,.2);

    border-radius:20px;

    padding:35px;

    transition:.35s;
    cursor:pointer;

}

.skill-card:hover{

    transform:translateY(-10px);

    border-color:var(--accent);

    box-shadow:0 0 35px rgba(139,92,246,.25);

}

.skill-card i{

    font-size:42px;

    color:var(--accent);

    margin-bottom:20px;

}

.skill-card h3{

    font-size:24px;

    margin-bottom:15px;

}

.skill-card p{

    color:#BDBDBD;

    line-height:1.8;

}

.skill-card i{

    transition:.35s;

}

.skill-card:hover i{

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

}

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

.projects{

    max-width:1500px;

    margin:0 auto;

    padding:1px 60px;
    position: relative;
z-index: 1;

}

.projects-header{

    text-align:center;

    margin-bottom:10px;

}

.projects-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 24px;

    border-radius:999px;

    border:1px solid rgba(139,92,246,.30);

    background:rgba(139,92,246,.08);

    color:var(--accent);

    font-size:14px;

    font-weight:600;

    margin-bottom:25px;

}

.projects .section-title{

    font-size:56px;

    margin-bottom:18px;

    font-weight:700;

}

.projects-subtitle{

    max-width:760px;

    margin:auto;

    color:#A8A8A8;

    font-size:20px;

    line-height:1.8;

}

.projects-subtitle span{

    color:var(--accent);

    font-weight:600;

}

.projects-grid{

    margin-top:50px;

    display:grid;

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

    gap:50px;

}

.project-card{

    background:linear-gradient(180deg,#181818,#111111);

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

    border-radius:26px;

    overflow:hidden;

    display:flex;

    flex-direction:column;

    position:relative;

    cursor:pointer;

    transform-style: preserve-3d;

    transition: transform .25s ease;

    will-change: transform;

    isolation: isolate;

}

.project-card::before{

    content:"";

    position:absolute;

    width:300px;
    height:300px;

    left:var(--x);
    top:var(--y);

    transform:translate(-50%,-50%);

    background:radial-gradient(
        circle,
        rgba(139,92,246,.28),
        transparent 70%
    );

    opacity:0;

    transition:.25s;

    pointer-events:none;

    z-index:0;

}

.project-card:hover::before{

    opacity:1;

}

.project-image,
.project-content{

    position:relative;

    z-index:2;

}

.project-image{

    position:relative;

    height:280px;

    background:#0F0F10;

    padding:10px;

    display:flex;

    justify-content:center;

    align-items:center;

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

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:contain;

    transition:.4s;

}

.project-card:hover .project-image img{

    transform:scale(1.03);

}

.project-category{

    position:absolute;

    left:18px;

    top:18px;

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

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

    padding:8px 14px;

    border-radius:30px;

    font-size:12px;

    color:#fff;

    z-index:2;

}

.project-year{

    position:absolute;

    right:18px;

    top:18px;

    background:var(--accent);

    color:white;

    padding:8px 14px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

    z-index:2;

}

.project-content{

    padding:20px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.project-content h3{

    font-size:20px;

    line-height:1.35;

    margin-bottom:5px;

}

.project-content p{

    color:#B9B9B9;

    line-height:1.8;

    font-size:14px;

    min-height:120px;

    margin-bottom:2px;

}

/*====================================
        TECH STACK
====================================*/

.tech-stack{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-bottom:30px;

}

.tech-stack span{

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 16px;

    background:#191919;

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

    border-radius:30px;

    font-size:14px;

    color:#ECECEC;

    transition:.3s;

}

.tech-stack span:hover{

    border-color:var(--accent);

    background:#222;

}

.tech-stack i{

    font-size:18px;

    color:var(--accent);

}

.tech-stack img{

    width:18px;

    height:18px;

    object-fit:contain;

}


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

.project-buttons{

    margin-top:auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

}

.project-buttons a{

    height:56px;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    text-decoration:none;

    font-size:16px;

    font-weight:600;

    transition:.35s;

}

.github-btn{

    background:#161616;

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

    color:white;

    will-change: transform;

}

.github-btn:hover{

    background:#232323;

    border-color:var(--accent);

}

.live-btn{

    background:var(--accent);

    color:white;

    will-change: transform;

}

.live-btn:hover{

    background:var(--accent);

    transform:translateY(-3px);

}


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

.more-projects{

    text-align:center;

    margin-top:70px;

}

.more-projects a{

    color:var(--accent);

    text-decoration:none;

    font-size:22px;

    font-weight:600;

    transition:.3s;

}

.more-projects a:hover{

    letter-spacing:1px;

}

.more-projects i{

    margin-left:10px;

}

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

.project-hero{

    max-width:1400px;

    margin:140px auto 80px;

    padding:0 6%;

}

.back-btn{

    margin-bottom:45px;

}

.back-btn a{

    display:inline-flex;

    align-items:center;

    gap:10px;

    text-decoration:none;

    color:#BDBDBD;

    transition:.3s;

}

.back-btn a:hover{

    color:var(--accent);

}

.project-label{

    display:inline-block;

    padding:10px 22px;

    border-radius:30px;

    background:rgba(139,92,246,.08);

    border:1px solid rgba(139,92,246,.3);

    color:var(--accent);

    margin-bottom:25px;

    font-size:14px;

}

.project-hero h1{

    font-size:64px;

    margin-bottom:20px;

}

.project-hero p{

    max-width:850px;

    color:#B9B9B9;

    line-height:1.9;

    font-size:19px;

    margin-bottom:40px;

}

.project-tech{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:45px;

}

.project-tech span{

    display:flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    background:#161616;

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

    border-radius:35px;

}

.project-tech img{

    width:20px;

    height:20px;

}

.project-links{

    display:flex;

    gap:20px;

}

.project-links a{

    text-decoration:none;

    padding:16px 34px;

    border-radius:40px;

    font-weight:600;
    

}



/*====================================
        DASHBOARD
====================================*/

.dashboard-preview{

    max-width:1500px;

    margin:0 auto 120px;

    padding:0 6%;

}

.dashboard-preview h2{

    font-size:42px;
    margin-top: 20px;
    margin-bottom:35px;
    text-align:center;

}

.dashboard-preview img{

    width:80%;
    display:block;
    margin:0 auto;

    border-radius:20px;

    border:3px solid var(--accent);

    box-shadow:0 10px 60px rgba(127, 78, 241, 0.397);

}



/*====================================
        OVERVIEW
====================================*/

.project-overview{

    max-width:1400px;

    margin:auto;

    padding:0 6%;

    display:grid;

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

    gap:35px;

}

.overview-card{

    background:#151515;

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

    border-radius:22px;

    padding:35px;

}

.overview-card h3{

    margin-bottom:20px;

    font-size:30px;

    text-align:center;

}

.overview-card p{

    line-height:1.9;

    color:#B9B9B9;

}

.overview-card ul{

    padding-left:20px;

    color:#B9B9B9;

    line-height:2;

}



/*====================================
        WORKFLOW
====================================*/

.workflow{

    max-width:1400px;

    margin:120px auto;

    padding:0 6%;

}

.workflow h2{

    font-size:42px;

    margin-bottom:45px;

    text-align:center;

}

.workflow-grid{

    display:grid;

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

    gap:25px;

}

.workflow-card{

    background:#161616;

    padding:35px;

    border-radius:20px;

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

    transition:.35s;

}

.workflow-card:hover{

    transform:translateY(-8px);

    border-color:var(--accent);

}

.workflow-icon{

    width:65px;

    height:65px;

    border-radius:18px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--accent);

    margin-bottom:20px;

}

.workflow-icon i{

    font-size:28px;

}



/*====================================
        KPI
====================================*/

.project-kpi{

    max-width:1400px;

    margin:auto;

    padding:0 6% 120px;

}

.project-kpi h2{

    font-size:42px;

    margin-bottom:45px;

    text-align:center;

}

.kpi-grid{

    display:grid;

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

    gap:25px;

}

.kpi-card{

    background:#151515;

    border-radius:20px;

    padding:35px;

    text-align:center;

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

}

.kpi-card h3{

    color:var(--accent);

    font-size:42px;

    margin-bottom:15px;

}

.kpi-card p{

    color:#B9B9B9;

}



/*====================================
        INSIGHTS
====================================*/

.insights{

    max-width:1400px;

    margin:auto;

    padding:0 6% 120px;

}

.insights h2{

    font-size:42px;

    margin-bottom:45px;

    text-align:center;
}

.insights-grid{

    display:grid;

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

    gap:25px;

}

.insight-card{

    background:#151515;

    padding:35px;

    border-radius:22px;

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

}

.insight-card i{

    font-size:30px;

    color:var(--accent);

    margin-bottom:18px;

}

.insight-card h3{

    margin-bottom:15px;

}

.insight-card p{

    color:#B9B9B9;

    line-height:1.8;

}



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

.project-cta{

    max-width:1200px;

    margin:0 auto 120px;

    padding:60px;

    text-align:center;

    background:#151515;

    border-radius:30px;

    border:1px solid rgba(139,92,246,.2);

}

.project-cta h2{

    font-size:40px;

    margin-bottom:20px;

}

.project-cta p{

    color:#B9B9B9;

    max-width:700px;

    margin:0 auto 35px;

    line-height:1.8;

}

.project-cta .project-links{

    justify-content:center;

}


/*=============================
Experience
=============================*/

.experience{

    padding:120px 8%;
    position: relative;
    z-index: 1;
}

.experience .section-header{

    text-align:center;

    margin-bottom:60px;

}

.experience .section-header p{

    max-width:720px;

    margin:18px auto 0;

}

.experience-card{

    margin-top:30px;

    background:var(--card-color);

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

    border-radius:24px;

    padding:45px;

    transition:.35s;

    cursor:pointer;

    position: relative;

    overflow: hidden;

}

.experience-card::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:70%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );

    transition:.8s;

}

.experience-card:hover::before{

    left:140%;

}

.experience-card:hover{

    border-color:var(--accent);

    transform:translateY(-8px);

    box-shadow:0 20px 90px rgba(139,92,246,.35);

}

.experience-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:30px;

}

.experience-left{

    display:flex;

    align-items:center;

    gap:20px;

}

.company-icon{

    width:70px;

    height:70px;

    background:var(--accent);

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:18px;

    font-size:30px;

    color:white;

}

.experience-left h3{

    font-size:28px;

    margin-bottom:6px;

}

.experience-left h4{

    color:var(--primary);

    font-weight:600;

}

.experience-duration{

    text-align:right;

}

.experience-duration span{

    font-size:22px;

    font-weight:700;

    color:var(--primary);

}

.experience-duration p{

    margin-top:6px;

    opacity:.7;

}

.experience-description{

    margin:40px 0;

    color:var(--text-secondary);

    line-height:1.8;

}

.experience-grid{

    display:grid;

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

    gap:22px;

    margin-top:40px;

}

.experience-item{

    display:flex;

    align-items:center;

    gap:14px;

    width:100%;

    padding:18px 20px;

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

    border-radius:14px;

}


.experience-item i{

    color:var(--primary);

    font-size:20px;

}

.experience-skills{

display:flex;

flex-wrap:wrap;

gap:14px;

justify-content:center;

margin-top:40px;

}

.experience-skills span{

    padding:10px 18px;

    border-radius:40px;

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

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

    transition:.3s;

}

.experience-skills span:hover{

background:var(--accent);

color:white;

}

/* ============================
   CERTIFICATIONS
============================ */

.certifications{
    padding:100px 8%;
    position: relative;
z-index: 1;
}

.certifications .section-header{
    text-align:center;
    margin-bottom:60px;
}

.certifications .section-tag{
    display:inline-block;
    padding:8px 18px;
    border:1px solid var(--accent);
    border-radius:999px;
    color:var(--primary);
    background:var(--accent);
    font-size:.9rem;
    margin-bottom:18px;
}

.certifications .section-header h2{
    font-size:3rem;
    margin-bottom:18px;
}

.certifications .section-header p{
    max-width:720px;
    margin:auto;
    color:var(--text-secondary);
    line-height:1.8;
}

.certifications-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

/* CARD */

.certificate-card{

    position:relative;
    background:var(--card-bg);
    border:1px solid rgba(255,255,255,.06);
    border-radius:24px;

    padding:32px;

    transition:.35s ease;

    display:flex;
    flex-direction:column;
    cursor:pointer;

}

.certificate-card:hover{

    transform:translateY(-10px);

    border-color:var(--accent);

    box-shadow:
    0 20px 45px var(--accent);

}

/* FEATURED */

.featured{

    border:1px rgba(139,92,246,.35);

    background:
    linear-gradient(
    180deg,
    rgba(127, 78, 242, 0.204),
    rgba(178, 156, 250, 0.271));

}

.certificate-top{

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

    margin-bottom:20px;

}

.featured-badge{

    background:#fff;

    color:#111;

    padding:6px 14px;

    border-radius:999px;

    font-size:.8rem;

    font-weight:600;

}

/* ICON */

.certificate-icon{

    width:70px;
    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:

    var(--accent);

    color:var(--primary);

    font-size:1.7rem;

    margin-bottom:20px;

    transition:.35s;

}

.certificate-card:hover .certificate-icon{

    transform:scale(1.08);

    background:#fff;

    color:var(--accent);

}

/* TITLE */

.certificate-card h3{

    font-size:1.45rem;

    margin-bottom:10px;

}

.certificate-card h4{

    color:var(--primary);

    font-weight:600;

    margin-bottom:18px;

}

.certificate-card p{

    color:var(--text-secondary);

    line-height:1.8;

    margin-bottom:26px;

}

/* SKILLS */

.certificate-skills{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:30px;

}

.certificate-skills span{

    padding:8px 16px;

    border-radius:999px;

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

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

    color:var(--text-secondary);

    font-size:.85rem;

    transition:.3s;

}

.certificate-card:hover
.certificate-skills span{

    border-color:rgba(138, 92, 246, 0.87);

    color:#ffffff;

}

/* BUTTON */

.certificate-btn{

    margin-top:auto;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    text-decoration:none;

    padding:14px 20px;

    border-radius:14px;

    background:
    var(--accent);

    color:var(--primary);

    font-weight:600;

    transition:.3s;

    will-change: transform;
}

.certificate-btn:hover{

    background:var(--primary);

    color:var(--accent);

    box-shadow:

    0 2px 40px rgba(97, 57, 255);

}

.certificate-btn i{

    transition:.3s;

}

.certificate-btn:hover i{

    transform:translateX(5px);

}

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

.contact{
    padding:120px 8%;
    position: relative;
z-index: 1;
}

.contact .section-header{
    text-align:center;
    max-width:720px;
    margin:0 auto 70px;
}

.contact .section-badge{
    display:inline-block;
    padding:8px 18px;
    border:1px solid rgba(139,92,246,.35);
    border-radius:30px;
    color:var(--accent);
    font-size:.9rem;
    margin-bottom:18px;
}

.contact .section-header h2{
    font-size:3rem;
    margin-bottom:18px;
    color:#fff;
}

.contact .section-header p{
    color:#b6b6b6;
    line-height:1.8;
    font-size:1.05rem;
}

.contact-container{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:35px;
    align-items:stretch;
}

.contact-info,
.contact-action{
    background:#151515;
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    padding:40px;
}

.contact-info{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.contact-card{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    border-radius:18px;
    background:#1d1d1d;
    transition:.35s;
}

.contact-card:hover{
    transform:translateY(-4px);
    border:1px solid rgba(139,92,246,.4);
}

.contact-card i{
    width:60px;
    height:60px;
    border-radius:18px;
    background:var(--accent);
    color:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.3rem;
}

.contact-card h3{
    color:#fff;
    margin-bottom:6px;
}

.contact-card p{
    color:#bfbfbf;
}

.contact-action{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.contact-action h3{
    color:#fff;
    font-size:2rem;
    margin-bottom:18px;
}

.contact-action p{
    color:#bdbdbd;
    line-height:1.8;
    margin-bottom:35px;
}

.social-links{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-bottom:35px;
}

.social-links a{
    text-decoration:none;
    background:#1d1d1d;
    color:#ffffff;
    padding:18px;
    border-radius:18px;
    text-align:center;
    transition:.35s;
    border:1px solid transparent;
}

.social-links a i{
    display:block;
    font-size:1.4rem;
    color:var(--accent);
    margin-bottom:10px;
}

.social-links a:hover{
    border-color:var(--accent);
    transform:translateY(-5px);
}

.contact-buttons{
    display:flex;
    gap:18px;
}

.contact-buttons a{
    flex:1;
    text-decoration:none;
    text-align:center;
    padding:16px;
    border-radius:18px;
    font-weight:600;
    transition:.35s;
}

.contact .primary-btn{
    background:var(--accent);
    color:#fff;
}

.primary-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(139,92,246,.35);
}

.secondary-btn{
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    background:#1d1d1d;
}

.secondary-btn:hover{
    border-color:var(--accent);
    transform:translateY(-4px);
}


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

.footer{
    padding:70px 8% 25px;
    border-top:1px solid rgba(255,255,255,.06);
    background:#0d0d0d;
}

.footer-container{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:60px;
    margin-bottom:50px;
}

.footer-about h2{
    font-size:2.6rem;
    color:var(--accent);
    margin-bottom:18px;
}

.footer-about p{
    color:#ffffff;
    line-height:1.8;
    max-width:420px;
    margin-bottom:30px;
}

.footer-social{
    display:flex;
    gap:16px;
}

.footer-social a{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#1b1b1b;
    color:var(--accent);
    font-size:1.2rem;
    transition:.35s;
    border:1px solid transparent;
}

.footer-social a:hover{
    background:var(--accent);
    border-color:var(--accent);
    transform:translateY(-5px);
    color:white;
}

.footer-links h3,
.footer-tech h3{
    color:var(--accent);
    margin-bottom:25px;
    font-size:1.35rem;
}

.footer-links ul,
.footer-tech ul{
    list-style:none;
}

.footer-links li,
.footer-tech li{
    margin-bottom:14px;
}

.footer-links a{
    color:#bdbdbd;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:var(--accent);
    padding-left:6px;
}

.footer-tech li{
    color:#bdbdbd;
    transition:.3s;
}

.footer-tech li:hover{
    color:var(--accent);
    transform:translateX(6px);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p{
    color:#9c9c9c;
    font-size:.95rem;
}

.footer-bottom span{
    color:var(--accent);
    font-weight:600;
}

.footer-logo{
    width:100px;
    height:100px;
    margin-top:-18px;
    margin-bottom:8px;
    object-fit:contain;
}


.footer-social a{
    text-decoration: none;
}


#loader{

    position:fixed;

    inset:0;

    background:#090909;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:.8s;

}

.loader{

    width:130px;
    height:130px;
    object-fit:contain;

    animation:loaderPulse 1.5s ease-in-out infinite;

    filter:
        drop-shadow(0 0 8px #ffffff)
        drop-shadow(0 0 45px #c486ff)
        drop-shadow(0 0 80px rgba(139,92,246,.7));

}

@keyframes loaderPulse{

    0%,100%{
        transform:scale(.92);
    }

    50%{
        transform:scale(1.08);
    }

}

#loader.hide{

    opacity:0;

    visibility:hidden;

}

@keyframes loaderPulse{

    0%{

        transform:scale(.9);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(.9);

    }

}

/* ===========================
   Scroll To Top Button
=========================== */

#scrollTopBtn{
    position: fixed;
    right: 30px;
    bottom: 30px;

    width: 56px;
    height: 56px;

    border: none;
    border-radius: 50%;

    background: var(--accent);
    color: #fff;

    font-size: 22px;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);

    transition:
    transform .3s ease,
    opacity .3s ease,
    background-color .3s ease,
    box-shadow .3s ease;

    opacity: 0;
    visibility: hidden;

    z-index: 9999;
}

#scrollTopBtn.show{
    opacity:1;
    visibility:visible;
}

#scrollTopBtn:hover{

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

    color: var(--accent);

    background: #fff;

    box-shadow:
    0 0 15px var(--accent),
    0 0 35px rgb(138, 92, 246);
}

#scrollTopBtn:active{
    transform:scale(.92);
}


