/* ===================================================
   RESET
=================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body{
    font-family:'Poppins',sans-serif;
    background:#0f172a;
    color:#fff;
    overflow-x:hidden;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

/* ===================================================
   NAVIGATION
=================================================== */

nav{

    position:fixed;

    top:20px;
    left:50%;

    transform:translateX(-50%);

    width:92%;
    max-width:1180px;

    padding:18px 35px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border-radius:18px;

    z-index:1000;

    transition:all .35s ease;

}

nav.scrolled{

    background:rgba(15,23,42,.95);

    box-shadow:0 12px 30px rgba(0,0,0,.35);

}

.logo{

    display:flex;

    align-items:center;

    gap:4px;

    font-size:40px;

    font-weight:800;

    color:#fff;

}

.letter{

    transition:.4s;

}

.node{

    color:#38bdf8;

    transition:.4s;

}

.logo:hover{

    text-shadow:
        0 0 10px #38bdf8,
        0 0 20px #38bdf8,
        0 0 40px #38bdf8;

}

.logo:hover .node{

    transform:rotate(360deg);

    color:#fff;

}

.nav-links{

    display:flex;

    align-items:center;

    gap:35px;

}

.nav-links a{

    color:#fff;

    font-size:17px;

    font-weight:500;

    position:relative;

    transition:.3s;

}

.nav-links a:hover,
.nav-links a.active{

    color:#38bdf8;

}

.nav-links a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#38bdf8;

    transition:.3s;

}

.nav-links a:hover::after,
.nav-links a.active::after{

    width:100%;

}

/* ===================================================
   HERO
=================================================== */

.hero{

    min-height:100vh;

    padding-top:140px;

    background:

    radial-gradient(circle at top right,#1d4ed8 0%,transparent 30%),

    radial-gradient(circle at bottom left,#0ea5e9 0%,transparent 30%),

    #0f172a;

}

.hero-content{

    min-height:85vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    gap:25px;

    padding:20px;

}

.hero-image{

    position:relative;

    width:300px;

    height:300px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    border:2px dashed rgba(56,189,248,.35);

    animation:rotate 18s linear infinite;

}

.hero-image img{

    width:280px;

    height:280px;

    object-fit:cover;

    border-radius:50%;

    border:5px solid #38bdf8;

    box-shadow:0 0 40px rgba(56,189,248,.45);

    transition:.35s;

    position:relative;

    z-index:2;

}

.hero-image img:hover{

    transform:scale(1.05);

    box-shadow:0 0 65px rgba(56,189,248,.65);

}

.hero-text{

    max-width:850px;

}

.hero-text h1{

    font-size:82px;

    line-height:1.1;

    font-weight:800;

}

.hero-text h2{

    margin-top:15px;

    font-size:36px;

    color:#cbd5e1;

}

.hero-text p{

    margin-top:15px;

    color:#94a3b8;

    font-size:20px;

}



/* ===================================================
   BUTTONS
=================================================== */

.buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-top:30px;

}

.btn,
.btn-outline{

    padding:16px 36px;

    border-radius:10px;

    font-weight:700;

    transition:.35s;

}

.btn{

    background:#38bdf8;

    color:#08111f;

}

.btn:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 30px rgba(56,189,248,.35);

}

.btn-outline{

    border:2px solid #38bdf8;

    color:#fff;

}

.btn-outline:hover{

    background:#38bdf8;

    color:#08111f;

}

/* ===================================================
   SOCIAL
=================================================== */

.social-icons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:35px;

}

.social-icons a{

    width:55px;

    height:55px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    color:#38bdf8;

    font-size:24px;

    transition:.3s;

}

.social-icons a:hover{

    background:#38bdf8;

    color:#08111f;

    transform:translateY(-5px);

    box-shadow:0 12px 25px rgba(56,189,248,.35);

}

/* ===================================================
   ANIMATIONS
=================================================== */

@keyframes rotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

@keyframes blink{

    50%{
        opacity:0;
    }

}

#typing::after{

    content:"|";

    color:#38bdf8;

    animation:blink .8s infinite;

}

/* ===================================================
   ABOUT SECTION
=================================================== */

.about{

    padding:100px 10%;

    background:#111827;

}

.about-container{

    max-width:1200px;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:70px;

    flex-wrap:wrap;

}

.about-image{

    flex:1;

    display:flex;

    justify-content:center;

}

.about-image img{

    width:350px;

    border-radius:20px;

    border:4px solid #38bdf8;

    box-shadow:0 20px 45px rgba(56,189,248,.25);

    transition:.35s;

}

.about-image img:hover{

    transform:scale(1.03);

}

.about-content{

    flex:1;

    min-width:320px;

}

.about-content h5{

    color:#38bdf8;

    font-size:18px;

    letter-spacing:2px;

    margin-bottom:15px;

}

.about-content h2{

    font-size:46px;

    margin-bottom:25px;

}

.about-content p{

    color:#cbd5e1;

    font-size:18px;

    line-height:1.9;

    margin-bottom:25px;

}

/* ===================================================
   SKILL TAGS
=================================================== */

.skill-tags{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin:35px 0;

}

.skill-tags span{

    padding:10px 18px;

    border-radius:30px;

    background:#1e293b;

    color:#38bdf8;

    border:1px solid rgba(56,189,248,.25);

    transition:.3s;

}

.skill-tags span:hover{

    background:#38bdf8;

    color:#08111f;

    transform:translateY(-3px);

}

/* ===================================================
   STATS
=================================================== */

.stats{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-top:40px;

}

.stat-card{

    background:#1e293b;

    padding:28px;

    text-align:center;

    border-radius:18px;

    transition:.35s;

    border:1px solid rgba(56,189,248,.15);

}

.stat-card:hover{

    transform:translateY(-8px);

    border-color:#38bdf8;

    box-shadow:0 15px 35px rgba(56,189,248,.20);

}

.stat-card h3{

    color:#38bdf8;

    font-size:34px;

    margin-bottom:10px;

}

.stat-card p{

    color:#cbd5e1;

}

/* ===================================================
   SECTION TITLE
=================================================== */

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title h5{

    color:#38bdf8;

    font-size:18px;

    letter-spacing:2px;

    margin-bottom:15px;

}

.section-title h2{

    font-size:46px;

    margin-bottom:18px;

}

.section-title p{

    color:#94a3b8;

    font-size:18px;

    max-width:700px;

    margin:auto;

}

/* ===================================================
   EXPERIENCE
=================================================== */

.experience{

    padding:120px 10%;

    background:#0f172a;

}

.timeline{

    max-width:900px;

    margin:auto;

    position:relative;

}

.timeline::before{

    content:"";

    position:absolute;

    left:30px;

    top:0;

    width:3px;

    height:100%;

    background:#38bdf8;

}

.timeline-item{

    position:relative;

    padding-left:90px;

    margin-bottom:80px;

}

.timeline-dot{

    position:absolute;

    left:16px;

    top:28px;

    width:30px;

    height:30px;

    background:#38bdf8;

    border-radius:50%;

    border:6px solid #0f172a;

    box-shadow:0 0 18px rgba(56,189,248,.7);

}

.timeline-content{

    background:#1e293b;

    padding:40px;

    border-radius:20px;

    border:1px solid rgba(56,189,248,.15);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.timeline-content::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:5px;

    height:100%;

    background:#38bdf8;

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

.timeline-content:hover::before{

    transform:scaleY(1);

}

.timeline-content:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 20px 50px rgba(56,189,248,.25);

}

.timeline-date{

    color:#38bdf8;

    font-weight:600;

}

.company-header{

    display:flex;

    align-items:center;

    gap:22px;

    margin:20px 0 25px;

}

.company-logo{

    width:90px;

    height:90px;

    object-fit:contain;

    background:#fff;

    padding:12px;

    border-radius:15px;

}

.company-header h3{

    font-size:30px;

}

.company-header h4{

    color:#38bdf8;

    margin-top:6px;

    font-weight:600;

}

.experience-points{

    margin-top:25px;

}

.exp-point{

    display:flex;

    gap:15px;

    margin-bottom:18px;

    align-items:flex-start;

}

.exp-point span{

    font-size:22px;

}

.exp-point p{

    color:#d6dbe6;

    line-height:1.8;

}

.tech-stack{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:30px;

}

.tech-stack span{

    padding:8px 16px;

    border-radius:25px;

    background:#0f172a;

    color:#38bdf8;

    border:1px solid rgba(56,189,248,.25);

    transition:.3s;

}

.tech-stack span:hover{

    background:#38bdf8;

    color:#08111f;

}

.experience-highlights{

    display:flex;

    gap:15px;

    margin-top:30px;

    flex-wrap:wrap;

}

.highlight-card{

    flex:1;

    min-width:120px;

    background:#162033;

    border:1px solid rgba(56,189,248,.25);

    border-radius:14px;

    padding:18px;

    text-align:center;

    transition:.3s;

}

.highlight-card:hover{

    transform:translateY(-5px);

    border-color:#38bdf8;

}

.highlight-card h3{

    color:#38bdf8;

    font-size:28px;

    margin-bottom:8px;

}

.highlight-card p{

    color:#cbd5e1;

    font-size:14px;

}

/* ===================================================
   SKILLS
=================================================== */

.skills{

    padding:120px 10%;

    background:#111827;

}

.skills-container{

    max-width:900px;

    margin:60px auto 0;

}

.skill{

    margin-bottom:35px;

}

.skill-info{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:12px;

    font-size:18px;

    font-weight:600;

}

.progress{

    width:100%;

    height:12px;

    background:#243244;

    border-radius:30px;

    overflow:hidden;

}

.progress-bar{

    width:0;

    height:100%;

    border-radius:30px;

    background:linear-gradient(
        90deg,
        #0ea5e9,
        #38bdf8,
        #60a5fa
    );

    transition:width 1.5s ease;

}

.progress-bar.expert.animate{

    width:100%;

}

.progress-bar.advanced.animate{

    width:88%;

}

.progress-bar.intermediate.animate{

    width:75%;

}

.level{

    padding:6px 14px;

    border-radius:20px;

    font-size:14px;

    font-weight:600;

}

.level.expert{

    background:#38bdf8;

    color:#08111f;

}

.level.advanced{

    background:#2563eb;

    color:#fff;

}

.level.intermediate{

    background:#475569;

    color:#fff;

}

/* ===================================================
   TECHNOLOGY GRID
=================================================== */

.tech-grid{

    margin-top:80px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:25px;

}

.tech-card{

    background:#1e293b;

    padding:35px 20px;

    border-radius:18px;

    text-align:center;

    border:1px solid rgba(56,189,248,.15);

    transition:.35s;

}

.tech-card:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 15px 35px rgba(56,189,248,.2);

}

.tech-card i{

    font-size:60px;

    margin-bottom:20px;

}

.tech-card h4{

    font-size:18px;

    color:#fff;

}

/* ===================================================
   PROJECTS
=================================================== */

.projects{

    padding:120px 10%;

    background:#0f172a;

}

.projects-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

    gap:35px;

    margin-top:60px;

}

.project-card{

    background:#1e293b;

    border-radius:20px;

    overflow:hidden;

    border:1px solid rgba(56,189,248,.15);

    transition:.35s;

}

.project-card:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 20px 45px rgba(56,189,248,.2);

}

.project-image{

    height:180px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:70px;

    background:linear-gradient(135deg,#1d4ed8,#38bdf8);

}

.project-content{

    padding:30px;

}

.project-content h3{

    margin-bottom:18px;

    font-size:26px;

}

.project-content p{

    color:#cbd5e1;

    line-height:1.8;

}

.project-tags{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:25px;

}

.project-tags span{

    padding:8px 16px;

    border-radius:30px;

    background:#0f172a;

    color:#38bdf8;

    font-size:14px;

}

/* ===================================================
   CONTACT
=================================================== */

.contact{

    padding:50px 10% 60px;

    background:#111827;

}

.contact-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    margin-top:60px;

}

.contact-card{

    background:#1e293b;

    padding:40px;

    border-radius:18px;

    text-align:center;

    border:1px solid rgba(56,189,248,.15);

    transition:.35s;

}

.contact-card:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 15px 40px rgba(56,189,248,.2);

}

.contact-card i{

    color:#38bdf8;

    margin-bottom:20px;

}

.contact-card h3{

    margin-bottom:15px;

}

.contact-card p{

    color:#cbd5e1;

}

.contact-card a{

    color:#38bdf8;

    transition:.3s;

}

.contact-card a:hover{

    color:#fff;

}

/* ===================================================
   CERTIFICATIONS
=================================================== */

.certifications{

    padding:120px 10%;

    background:#0f172a;

}

.cert-buttons{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

    margin-top:60px;

}

.cert-btn{

    padding:18px 35px;

    border:2px solid #38bdf8;

    border-radius:12px;

    color:#fff;

    background:#1e293b;

    font-weight:600;

    transition:.35s;

}

.cert-btn:hover{

    background:#38bdf8;

    color:#08111f;

    transform:translateY(-5px);

    box-shadow:0 12px 25px rgba(56,189,248,.35);

}

/* ===================================================
   FOOTER
=================================================== */

footer{

    padding:45px 10% 30px;

    background:#0f172a;

    text-align:center;

    border-top:1px solid rgba(255,255,255,.08);

}

.footer-content{

    max-width:900px;

    margin:auto;

}

footer h2{

    font-size:42px;

    color:#38bdf8;

    margin-bottom:20px;

}

footer p{

    color:#94a3b8;

    margin-bottom:15px;

}

.footer-links{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

    margin:30px 0;

}

.footer-links a{

    padding:10px 18px;

    border-radius:30px;

    color:#cbd5e1;

    background:rgba(255,255,255,.05);

    transition:.3s;

}

.footer-links a:hover{

    background:#38bdf8;

    color:#08111f;

    transform:translateY(-3px);

}

.copyright{

    margin-top:30px;

    font-size:14px;

}

/* =====================================
   SCROLL TO TOP BUTTON
===================================== */

#topBtn{

    position:fixed;

    bottom:25px;

    right:25px;

    width:52px;

    height:52px;

    display:none;

    justify-content:center;

    align-items:center;

    border:none;

    outline:none;

    border-radius:50%;

    cursor:pointer;

    background:linear-gradient(135deg,#0ea5e9,#38bdf8);

    color:#fff;

    font-size:20px;

    box-shadow:0 10px 25px rgba(56,189,248,.35);

    transition:all .35s ease;

    z-index:9999;

}

#topBtn:hover{

    transform:translateY(-6px) scale(1.08);

    box-shadow:0 15px 35px rgba(56,189,248,.55);

}

#topBtn:active{

    transform:scale(.95);

}

#topBtn i{

    display:flex;

    justify-content:center;

    align-items:center;

    line-height:1;

    pointer-events:none;

}

/* ===================================================
   LOADER
=================================================== */

#loader{

    position:fixed;

    inset:0;

    background:#0f172a;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:opacity .6s ease;

}

.loader-logo{

    font-size:60px;

    font-weight:800;

    letter-spacing:8px;

    color:#38bdf8;

    margin-bottom:35px;

}

.loader-bar{

    width:220px;

    height:6px;

    background:#1e293b;

    border-radius:20px;

    overflow:hidden;

}

.loader-progress{

    width:0;

    height:100%;

    background:#38bdf8;

    animation:loading 1.5s linear forwards;

}

@keyframes loading{

    from{

        width:0;

    }

    to{

        width:100%;

    }

}

/* ===================================================
   SCROLL ANIMATION
=================================================== */

section{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

section.show{

    opacity:1;

    transform:translateY(0);

}

.hidden{

    opacity:0;

    transform:translateY(50px);

    transition:.8s ease;

}

.hidden.show{

    opacity:1;

    transform:translateY(0);

}

/* =====================================
   FOOTER LOGO
===================================== */

.footer-logo{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:3px;

    margin-bottom:20px;

    font-size:58px;

    font-weight:800;

    color:#fff;

    cursor:pointer;

}

.footer-logo .node{

    color:#38bdf8;

    transition:.6s ease;

}

.footer-logo:hover{

    text-shadow:
        0 0 12px #38bdf8,
        0 0 25px #38bdf8,
        0 0 45px #38bdf8;

}

.footer-logo:hover .node{

    transform:rotate(360deg);

    color:#fff;

}

/* =====================================
   FOOTER STATUS
===================================== */

.footer-status{

    margin:35px 0;

    display:flex;

    justify-content:center;

    gap:35px;

    flex-wrap:wrap;

}

.status-item{

    display:flex;

    align-items:center;

    gap:10px;

    background:rgba(255,255,255,.05);

    padding:12px 18px;

    border-radius:30px;

    color:#cbd5e1;

    transition:.3s;

}

.status-item:hover{

    background:#1e293b;

}

.status-item i{

    color:#38bdf8;

}

.status-item img{

    height:24px;

    border-radius:6px;

    vertical-align:middle;

}

/* =====================================
   404 PAGE
===================================== */

.error-page{

    min-height:calc(100vh - 160px);

    display:flex;

    justify-content:center;

    align-items:center;

    padding:120px 10% 60px;

    text-align:center;

}

.error-content{

    max-width:700px;

}

.error-content h1{

    font-size:160px;

    font-weight:800;

    color:#38bdf8;

    line-height:1;

    margin-bottom:10px;

    text-shadow:0 0 25px rgba(56,189,248,.3);

}

.error-content h2{

    font-size:42px;

    margin-bottom:25px;

}

.error-content h2 i{

    color:#38bdf8;

    margin-right:12px;

}

.error-content p{

    font-size:18px;

    color:#94a3b8;

    line-height:1.8;

    margin-bottom:40px;

}

.error-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.error-footer{

    text-align:center;

    padding:30px;

    border-top:1px solid rgba(255,255,255,.06);

    color:#94a3b8;

}

/* =====================================
   MOBILE MENU
===================================== */

.menu-toggle{

    display:none;

    font-size:30px;

    color:#38bdf8;

    cursor:pointer;

    transition:.3s;

}

.menu-toggle:hover{

    color:#60a5fa;

}