/* ================================= */
/* MINIMAL PAGE LOADER */
/* ================================= */

#loader {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #020617;
    z-index: 10000;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

#loader.loader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loader-content {
    text-align: center;
}

.loader-line {
    width: 0;
    height: 2px;
    margin: 0 auto 22px;
    background: #38bdf8;
    box-shadow: 0 0 15px rgba(56, 189, 248, 0.7);
    animation: loaderLine 1s ease forwards;
}

.loader-content h2 {
    margin: 0;
    color: #ffffff;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 5px;
    opacity: 0;
    animation: loaderText 0.8s ease 0.5s forwards;
}

.loader-content p {
    margin-top: 10px;
    color: #38bdf8;
    font-size: 14px;
    letter-spacing: 3px;
    opacity: 0;
    animation: loaderText 0.8s ease 0.8s forwards;
}

@keyframes loaderLine {
    from {
        width: 0;
    }

    to {
        width: 180px;
    }
}

@keyframes loaderText {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 600px) {
    .loader-content h2 {
        font-size: 23px;
        letter-spacing: 3px;
    }

    .loader-content p {
        font-size: 12px;
    }
}
/* ============================= */
/* Animated Background */
/* ============================= */

.background-animation{
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    z-index:-1;
}

.background-animation span{
    position:absolute;
    display:block;
    width:3px;
    height:3px;
    background:#38bdf8;
    border-radius:50%;
    box-shadow:0 0 15px #38bdf8;
    animation:floatParticle linear infinite;
}

.background-animation span:nth-child(1){
    left:10%;
    animation-duration:12s;
}

.background-animation span:nth-child(2){
    left:25%;
    animation-duration:17s;
    animation-delay:2s;
}

.background-animation span:nth-child(3){
    left:45%;
    animation-duration:14s;
    animation-delay:4s;
}

.background-animation span:nth-child(4){
    left:65%;
    animation-duration:18s;
    animation-delay:1s;
}

.background-animation span:nth-child(5){
    left:80%;
    animation-duration:13s;
    animation-delay:3s;
}

.background-animation span:nth-child(6){
    left:92%;
    animation-duration:16s;
    animation-delay:5s;
}

@keyframes floatParticle{

    0%{
        top:110%;
        opacity:0;
    }

    20%{
        opacity:1;
    }

    80%{
        opacity:1;
    }

    100%{
        top:-10%;
        opacity:0;
    }

}
/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
    scroll-behavior:smooth;
}

body{
    background:#0f172a;
    color:#fff;
}

/* ================================= */
/* NAVBAR */
/* ================================= */

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    width: 100%;
    height: 75px;

    padding: 0 30px;
    margin: 0;

    display: flex;
    align-items: center;

    background: rgba(15, 23, 42, 0.85);

    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);

    z-index: 1000;

    box-sizing: border-box;
}

.logo{
    margin: 0;
    padding: 0;

    font-size: 25px;
    font-weight: 700;

    color: #ffffff;

    white-space: nowrap;
}

.nav-links{
    display: flex;
    align-items: center;

    gap: 28px;

    margin: 0 0 0 auto;
    padding: 0;

    list-style: none;
}

.nav-links li{
    margin-left: 0;
    padding: 0;
}

.nav-links a{
    position: relative;

    display: inline-block;

    color: #cbd5e1;

    text-decoration: none;

    font-size: 14px;
    font-weight: 500;

    white-space: nowrap;

    transition: color 0.3s ease;
}

.nav-links a:hover,.nav-links.active{
    color:#38bdf8;
}
/* ============================= */
/* PREMIUM HERO */
/* ============================= */

.hero{
    min-height:100vh;
    padding:140px 8% 80px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:70px;
    position:relative;
    overflow:hidden;
}

.hero-content{
    position:relative;
    z-index:2;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 15px;
    border:1px solid rgba(56,189,248,.25);
    border-radius:30px;
    background:rgba(56,189,248,.06);
    color:#94a3b8;
    font-size:13px;
    margin-bottom:25px;
}

.status-dot{
    width:8px;
    height:8px;
    background:#22c55e;
    border-radius:50%;
    box-shadow:0 0 12px #22c55e;
    animation:pulseDot 1.5s infinite;
}

@keyframes pulseDot{

    0%,100%{
        transform:scale(1);
        opacity:1;
    }

    50%{
        transform:scale(1.5);
        opacity:.5;
    }

}

.hero-small{
    color:#38bdf8;
    letter-spacing:5px;
    font-size:14px;
    font-weight:600;
}

.hero-content h1{
    font-size:clamp(50px,6vw,85px);
    line-height:1;
    margin:12px 0;
    font-weight:700;
    letter-spacing:-3px;
}

.hero-content h1 span{
    color:#38bdf8;
    display:block;
}

.hero-content h2{
    color:#cbd5e1;
    font-size:28px;
    margin:25px 0 18px;
}

.hero-description{
    max-width:570px;
    color:#94a3b8;
    line-height:1.8;
    font-size:16px;
}

.hero-buttons{
    display:flex;
    gap:15px;
    margin-top:32px;
    flex-wrap:wrap;
}

.primary-btn{
    background:#38bdf8;
}

.outline-btn{
    background:transparent;
    border:1px solid rgba(56,189,248,.5);
}

.outline-btn:hover{
    background:rgba(56,189,248,.1);
}

.hero-socials{
    display:flex;
    gap:15px;
    margin-top:35px;
}

.hero-socials a{
    width:42px;
    height:42px;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    color:#94a3b8;
    text-decoration:none;
    transition:.3s;
}

.hero-socials a:hover{
    color:#38bdf8;
    border-color:#38bdf8;
    transform:translateY(-5px);
}


/* ============================= */
/* CODE WINDOW */
/* ============================= */

.hero-code-wrapper{
    position:relative;
    perspective:1000px;
}

.code-window{
    background:#0a1120;
    border:1px solid rgba(56,189,248,.2);
    border-radius:18px;
    overflow:hidden;
    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 50px rgba(56,189,248,.08);
    transform:rotateY(-5deg) rotateX(2deg);
    transition:.5s;
}

.code-window:hover{
    transform:rotateY(0) rotateX(0) translateY(-8px);
}

.window-top{
    height:50px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    padding:0 18px;
    background:#101a2d;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.window-dots{
    display:flex;
    gap:7px;
}

.window-dots span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#475569;
}

.window-title{
    text-align:center;
    color:#64748b;
    font-size:12px;
}

.code-content{
    position:relative;
    padding:25px 20px;
    min-height:390px;
    font-family:monospace;
    font-size:14px;
    line-height:2;
    color:#cbd5e1;
}

.line-number{
    display:inline-block;
    width:30px;
    color:#334155;
    user-select:none;
}

.keyword{
    color:#c084fc;
}

.string{
    color:#4ade80;
}

.function{
    color:#38bdf8;
}

.code-cursor{
    width:8px;
    height:18px;
    background:#38bdf8;
    display:inline-block;
    animation:cursorBlink .8s infinite;
}

@keyframes cursorBlink{

    50%{
        opacity:0;
    }

}


/* ============================= */
/* Floating Tech Cards */
/* ============================= */

.floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 15px;
    background:rgba(15,23,42,.9);
    border:1px solid rgba(56,189,248,.25);
    border-radius:10px;
    color:#cbd5e1;
    font-size:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.3);
    backdrop-filter:blur(10px);
}

.floating-card i{
    font-size:20px;
    color:#38bdf8;
}

.card-one{
    top:8%;
    left:-30px;
    animation:floatOne 4s ease-in-out infinite;
}

.card-two{
    bottom:15%;
    right:-30px;
    animation:floatTwo 5s ease-in-out infinite;
}

.card-three{
    bottom:-20px;
    left:20%;
    animation:floatThree 4.5s ease-in-out infinite;
}

@keyframes floatOne{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-15px);
    }

}

@keyframes floatTwo{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(15px);
    }

}

@keyframes floatThree{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

}


/* ============================= */
/* Hero Glow */
/* ============================= */

.hero-glow{
    position:absolute;
    width:400px;
    height:400px;
    border-radius:50%;
    filter:blur(120px);
    opacity:.12;
    pointer-events:none;
}

.glow-one{
    background:#38bdf8;
    top:10%;
    right:25%;
}

.glow-two{
    background:#8b5cf6;
    bottom:5%;
    left:10%;
}


/* ============================= */
/* Hero Responsive */
/* ============================= */

@media(max-width:900px){

    .hero{
        grid-template-columns:1fr;
        text-align:center;
        padding-top:130px;
    }

    .hero-description{
        margin:auto;
    }

    .hero-buttons,
    .hero-socials{
        justify-content:center;
    }

    .hero-code-wrapper{
        max-width:650px;
        width:100%;
        margin:auto;
    }

    .code-window{
        transform:none;
    }

}

@media(max-width:600px){

    .hero{
        padding-left:6%;
        padding-right:6%;
    }

    .hero-content h1{
        font-size:50px;
    }

    .hero-content h2{
        font-size:22px;
    }

    .code-content{
        font-size:11px;
        min-height:330px;
    }

    .floating-card{
        display:none;
    }

}
Hero

.hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:100vh;
    padding:0 10%;
}

.hero-text{
    max-width:600px;
}

.hero-text h3{
    font-size:24px;
}

.hero-text h1{
    font-size:60px;
    color:#38bdf8;
    margin:10px 0;
}

.hero-text h2{
    font-size:35px;
    margin-bottom:20px;
}

.hero-text p{
    line-height:1.8;
    color:#cbd5e1;
}

.btn{
    display:inline-block;
    margin-top:30px;
    padding:12px 28px;
    background:#38bdf8;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    transition:.3s;
}

.btn:hover{
    background:#0284c7;
    transform:translateY(-3px);
}

.hero-image img{
    width:350px;
    height:350px;
    border-radius:50%;
    object-fit:cover;
    border:6px solid #38bdf8;
    box-shadow:0 0 30px rgba(56,189,248,.5);
}

/* Responsive */

@media(max-width:768px){

.hero{
    flex-direction:column-reverse;
    text-align:center;
    padding-top:120px;
}

.hero-image img{
    width:250px;
    height:250px;
    margin-bottom:30px;
}

.hero-text h1{
    font-size:42px;
}

.hero-text h2{
    font-size:26px;
}

.navbar{
    flex-direction:column;
}

.nav-links{
    margin-top:15px;
}

.nav-links li{
    margin:0 12px;
}

}
/* ============================= */
/* Section Title */
/* ============================= */

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title p{
    color:#38bdf8;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:3px;
}

.section-title h2{
    font-size:42px;
    margin-top:8px;
}

.section-title span{
    color:#38bdf8;
} */


/* ============================= */
/* About Section */
/* ============================= */

.about{
    padding:100px 10%;
    background:#111c32;
}

.about-container{
    display:flex;
    align-items:center;
    gap:70px;
}

.about-image{
    width:40%;
    display:flex;
    justify-content:center;
}

.about-card{
    width:300px;
    height:300px;
    border:1px solid rgba(56,189,248,.4);
    border-radius:25px;
    background:rgba(56,189,248,.05);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    box-shadow:0 0 40px rgba(56,189,248,.12);
    transition:.4s;
}

.about-card:hover{
    transform:translateY(-10px) rotate(2deg);
    box-shadow:0 0 50px rgba(56,189,248,.25);
}

.about-card i{
    font-size:70px;
    color:#38bdf8;
    margin-bottom:20px;
}

.about-card h3{
    font-size:24px;
}

.about-card p{
    color:#94a3b8;
    margin-top:8px;
}

.about-text{
    width:60%;
}

.about-text h3{
    font-size:28px;
    margin-bottom:20px;
}

.about-text p{
    color:#cbd5e1;
    line-height:1.8;
    margin-bottom:15px;
}

.about-info{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-top:30px;
}

.about-info div{
    padding:12px;
    border-left:3px solid #38bdf8;
    background:rgba(255,255,255,.03);
}

.about-info strong{
    display:block;
    color:#38bdf8;
    font-size:14px;
}

.about-info span{
    color:#cbd5e1;
    font-size:14px;
}


/* ============================= */
/* Skills Section */
/* ============================= */

.skills{
    padding:100px 10%;
}

.skills-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.skill-card{
    padding:35px 25px;
    text-align:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.03);
    transition:.4s;
}

.skill-card:hover{
    transform:translateY(-10px);
    border-color:#38bdf8;
    box-shadow:0 15px 40px rgba(56,189,248,.12);
}

.skill-card i{
    font-size:50px;
    color:#38bdf8;
    margin-bottom:20px;
}

.skill-card h3{
    font-size:21px;
    margin-bottom:10px;
}

.skill-card p{
    color:#94a3b8;
    line-height:1.6;
}


/* ============================= */
/* Mobile */
/* ============================= */

@media(max-width:768px){

    .about{
        padding:80px 7%;
    }

    .about-container{
        flex-direction:column;
    }

    .about-image,
    .about-text{
        width:100%;
    }

    .about-text{
        text-align:center;
    }

    .about-info{
        text-align:left;
    }

    .skills{
        padding:80px 7%;
    }

    .skills-container{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:34px;
    }

}
/* ============================= */
/* Experience */
/* ============================= */

.experience{
    padding:100px 10%;
    background:#111c32;
}

.timeline{
    position:relative;
    max-width:900px;
    margin:auto;
}

.timeline::before{
    content:"";
    position:absolute;
    left:20px;
    top:0;
    width:2px;
    height:100%;
    background:#38bdf8;
    opacity:.4;
}

.timeline-item{
    position:relative;
    padding-left:70px;
    margin-bottom:50px;
}

.timeline-dot{
    position:absolute;
    left:11px;
    top:5px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#38bdf8;
    box-shadow:0 0 20px #38bdf8;
}

.timeline-content{
    padding:30px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.03);
    transition:.4s;
}

.timeline-content:hover{
    transform:translateX(8px);
    border-color:#38bdf8;
}

.timeline-date{
    color:#38bdf8;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.timeline-content h3{
    font-size:25px;
    margin:8px 0;
}

.timeline-content h4{
    color:#94a3b8;
    margin-bottom:15px;
}

.timeline-content p{
    color:#cbd5e1;
    line-height:1.7;
}


/* ============================= */
/* Projects */
/* ============================= */

.projects{
    padding:100px 10%;
}

.projects-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.project-card{
    overflow:hidden;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.08);
    background:#111c32;
    transition:.4s;
}

.project-card:hover{
    transform:translateY(-12px);
    border-color:#38bdf8;
    box-shadow:0 20px 50px rgba(56,189,248,.12);
}

.project-image{
    height:180px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(
        135deg,
        #0f172a,
        #164e63
    );
}

.project-icon{
    width:80px;
    height:80px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:20px;
    background:rgba(56,189,248,.1);
    border:1px solid rgba(56,189,248,.4);
}

.project-icon i{
    font-size:38px;
    color:#38bdf8;
}

.project-content{
    padding:25px;
}

.project-number{
    color:#38bdf8;
    font-size:13px;
}

.project-content h3{
    font-size:25px;
    margin:8px 0 12px;
}

.project-content p{
    color:#94a3b8;
    line-height:1.7;
    font-size:14px;
}

.tech-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}

.tech-tags span{
    padding:5px 10px;
    border-radius:20px;
    background:rgba(56,189,248,.08);
    color:#38bdf8;
    font-size:12px;
}

.project-buttons{
    display:flex;
    gap:10px;
    margin-top:25px;
}

.project-btn{
    padding:9px 13px;
    border-radius:7px;
    background:#38bdf8;
    color:white;
    text-decoration:none;
    font-size:13px;
    transition:.3s;
}

.project-btn:hover{
    background:#0284c7;
}

.project-btn.secondary{
    background:transparent;
    border:1px solid rgba(255,255,255,.15);
}

.project-btn.secondary:hover{
    border-color:#38bdf8;
    color:#38bdf8;
}


/* ============================= */
/* Responsive */
/* ============================= */

@media(max-width:900px){

    .projects-container{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:768px){

    .experience,
    .projects{
        padding:80px 7%;
    }

    .projects-container{
        grid-template-columns:1fr;
    }

    .timeline-item{
        padding-left:55px;
    }

}
/* ============================= */
/* Certificates */
/* ============================= */

.certificates{
    padding:100px 10%;
    background:#111c32;
}

.certificates-container{
    max-width:950px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.certificate-card{
    display:grid;
    grid-template-columns:80px 1fr auto;
    align-items:center;
    gap:25px;
    padding:25px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(255,255,255,.03);
    transition:.4s;
}

.certificate-card:hover{
    transform:translateX(8px);
    border-color:#38bdf8;
}

.certificate-icon{
    width:65px;
    height:65px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:15px;
    background:rgba(56,189,248,.1);
}

.certificate-icon i{
    font-size:30px;
    color:#38bdf8;
}

.certificate-card span{
    color:#38bdf8;
    font-size:13px;
}

.certificate-card h3{
    margin:5px 0;
}

.certificate-card p{
    color:#94a3b8;
}

.certificate-btn{
    text-decoration:none;
    color:#38bdf8;
    border:1px solid #38bdf8;
    padding:9px 15px;
    border-radius:7px;
    transition:.3s;
}

.certificate-btn:hover{
    background:#38bdf8;
    color:white;
}


/* ============================= */
/* Contact */
/* ============================= */

.contact{
    padding:100px 10%;
}

.contact-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    max-width:1100px;
    margin:auto;
}

.contact-info h3{
    font-size:28px;
    margin-bottom:15px;
}

.contact-info > p{
    color:#94a3b8;
    line-height:1.8;
    margin-bottom:35px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:20px;
    margin:25px 0;
}

.contact-item > i{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(56,189,248,.1);
    color:#38bdf8;
    border-radius:12px;
    font-size:20px;
}

.contact-item span{
    color:#38bdf8;
    font-size:13px;
}

.contact-item p{
    color:#cbd5e1;
    margin-top:3px;
}


/* Contact Form */

.contact-form{
    padding:35px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.03);
}

.input-group{
    position:relative;
    margin-bottom:25px;
}

.input-group input,
.input-group textarea{
    width:100%;
    padding:15px;
    background:transparent;
    border:1px solid rgba(255,255,255,.15);
    border-radius:8px;
    outline:none;
    color:white;
    font-size:15px;
}

.input-group textarea{
    resize:none;
}

.input-group label{
    position:absolute;
    left:15px;
    top:15px;
    color:#94a3b8;
    pointer-events:none;
    transition:.3s;
}

.input-group input:focus,
.input-group textarea:focus{
    border-color:#38bdf8;
}

.input-group input:focus + label,
.input-group input:valid + label,
.input-group textarea:focus + label,
.input-group textarea:valid + label{
    top:-10px;
    left:12px;
    padding:0 5px;
    background:#0f172a;
    color:#38bdf8;
    font-size:12px;
}

.submit-btn{
    width:100%;
    padding:14px;
    border:none;
    border-radius:8px;
    background:#38bdf8;
    color:white;
    font-size:15px;
    cursor:pointer;
    transition:.3s;
}

.submit-btn:hover{
    background:#0284c7;
    transform:translateY(-2px);
}


/* ============================= */
/* Footer */
/* ============================= */

footer{
    background:#080f1d;
    padding:45px 10% 20px;
    text-align:center;
}

.footer-logo{
    font-size:25px;
    font-weight:700;
}

.footer-logo span{
    color:#38bdf8;
}

.footer-content > p{
    color:#94a3b8;
    margin:10px 0 20px;
}

.social-links{
    display:flex;
    justify-content:center;
    gap:15px;
}

.social-links a{
    width:40px;
    height:40px;
    display:flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    color:white;
    text-decoration:none;
    transition:.3s;
}

.social-links a:hover{
    color:#38bdf8;
    border-color:#38bdf8;
    transform:translateY(-4px);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:30px;
    padding-top:20px;
    color:#64748b;
    font-size:13px;
}


/* ============================= */
/* Back To Top */
/* ============================= */

#backToTop{
    position:fixed;
    right:25px;
    bottom:25px;
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#38bdf8;
    color:white;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:999;
}

#backToTop.show{
    opacity:1;
    visibility:visible;
}

#backToTop:hover{
    transform:translateY(-5px);
}


/* ============================= */
/* Mobile */
/* ============================= */

@media(max-width:768px){

    .certificates,
    .contact{
        padding:80px 7%;
    }

    .certificate-card{
        grid-template-columns:60px 1fr;
    }

    .certificate-btn{
        grid-column:2;
        width:max-content;
    }

    .contact-container{
        grid-template-columns:1fr;
        gap:40px;
    }

}
/* ============================= */
/* Navbar Scroll */
/* ============================= */

.navbar-scrolled{
    background:rgba(8,15,29,.95);
    box-shadow:0 5px 30px rgba(0,0,0,.25);
}


/* ============================= */
/* Typing Cursor */
/* ============================= */

.hero-text h2::after{
    content:"|";
    color:#38bdf8;
    margin-left:5px;
    animation:blink .7s infinite;
}

@keyframes blink{

    0%,100%{
        opacity:1;
    }

    50%{
        opacity:0;
    }

}


/* ============================= */
/* Scroll Reveal */
/* ============================= */

.reveal{
    opacity:0;
    transform:translateY(50px);
    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal-show{
    opacity:1;
    transform:translateY(0);
}


/* ============================= */
/* Mobile Menu */
/* ============================= */

.menu-button{
    display:none;
    font-size:25px;
    color:#38bdf8;
    cursor:pointer;
}


/* ============================= */
/* Mobile Navbar */
/* ============================= */

@media(max-width:768px){

    .navbar{
        flex-direction:row;
        padding:18px 7%;
    }

    .nav-links{
        position:absolute;
        top:75px;
        left:-100%;
        width:100%;
        padding:25px 0;
        flex-direction:column;
        text-align:center;
        background:#0f172a;
        transition:.4s;
        box-shadow:0 10px 30px rgba(0,0,0,.3);
    }

    .nav-links.active{
        left:0;
    }

    .nav-links li{
        margin:15px 0;
    }

    .menu-button{
        display:block;
    }

}
/* ============================= */
/* EDUCATION */
/* ============================= */

.education{
    padding:100px 10%;
    background:#111c32;
}

.education-container{
    max-width:950px;
    margin:auto;
    display:flex;
    flex-direction:column;
    gap:25px;
}

.education-card{
    display:flex;
    gap:25px;
    padding:30px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.03);
    transition:.4s;
}

.education-card:hover{
    transform:translateY(-7px);
    border-color:#38bdf8;
    box-shadow:0 15px 40px rgba(56,189,248,.1);
}

.education-icon{
    min-width:65px;
    height:65px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:15px;
    background:rgba(56,189,248,.1);
    color:#38bdf8;
    font-size:28px;
}

.education-year{
    display:inline-block;
    color:#38bdf8;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.education-content h3{
    font-size:24px;
    margin:5px 0;
}

.education-content h4{
    color:#cbd5e1;
    font-weight:500;
    margin-bottom:12px;
}

.education-content p{
    color:#94a3b8;
    line-height:1.7;
}

.education-tags{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:18px;
}

.education-tags span{
    padding:5px 12px;
    border-radius:20px;
    color:#38bdf8;
    background:rgba(56,189,248,.08);
    font-size:12px;
}


/* ============================= */
/* SKILLS */
/* ============================= */

.skills{
    padding:100px 10%;
}

.skills-wrapper{
    max-width:1100px;
    margin:auto;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:30px;
}

.skills-box,
.tools-box{
    padding:35px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.03);
}

.skills-box h3,
.tools-box h3{
    font-size:22px;
    margin-bottom:30px;
}

.skills-box h3 i,
.tools-box h3 i{
    color:#38bdf8;
    margin-right:10px;
}

.skill{
    margin-bottom:25px;
}

.skill-info{
    display:flex;
    justify-content:space-between;
    margin-bottom:8px;
    font-size:14px;
}

.skill-info span:last-child{
    color:#38bdf8;
}

.skill-bar{
    width:100%;
    height:8px;
    border-radius:10px;
    background:#1e293b;
    overflow:hidden;
}

.skill-progress{
    width:0;
    height:100%;
    border-radius:10px;
    background:linear-gradient(
        90deg,
        #0ea5e9,
        #38bdf8
    );
    transition:width 1.5s ease;
}


/* ============================= */
/* TOOLS GRID */
/* ============================= */

.tools-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.tool{
    min-height:110px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    background:rgba(255,255,255,.02);
    color:#cbd5e1;
    transition:.3s;
}

.tool i{
    font-size:32px;
    color:#38bdf8;
}

.tool:hover{
    transform:translateY(-5px);
    border-color:#38bdf8;
    background:rgba(56,189,248,.05);
}

.tool span{
    font-size:13px;
}


/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media(max-width:900px){

    .skills-wrapper{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .education,
    .skills{
        padding:80px 7%;
    }

    .education-card{
        flex-direction:column;
    }

    .education-icon{
        width:65px;
    }

    .skills-box,
    .tools-box{
        padding:25px;
    }

}
/* ============================= */
/* THEME TOGGLE */
/* ============================= */

.theme-toggle {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.7);
    color: #38bdf8;
    font-size: 17px;
    cursor: pointer;
    transition: 0.3s ease;
    margin-left: 15px;
}

.theme-toggle:hover {
    background: #38bdf8;
    color: #0f172a;
    transform: rotate(20deg) scale(1.08);
}


/* ============================= */
/* RESUME BUTTON */
/* ============================= */

.resume-btn {
    border: 1px solid #38bdf8;
    color: #38bdf8;
    background: transparent;
}

.resume-btn:hover {
    background: #38bdf8;
    color: #0f172a;
    transform: translateY(-3px);
}


/* ============================= */
/* LIGHT MODE */
/* ============================= */

body.light-mode {
    background: #f8fafc;
    color: #0f172a;
}

body.light-mode .navbar {
    background: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

body.light-mode .logo {
    color: #0f172a;
}

body.light-mode .nav-links a {
    color: #334155;
}

body.light-mode .nav-links a:hover {
    color: #0284c7;
}

body.light-mode .theme-toggle {
    background: #e2e8f0;
    color: #0f172a;
}

body.light-mode .hero {
    background: #f8fafc;
}

body.light-mode .hero-description {
    color: #475569;
}

body.light-mode .about,
body.light-mode .skills,
body.light-mode .education,
body.light-mode .experience,
body.light-mode .projects,
body.light-mode .certificates,
body.light-mode .contact {
    background: #f8fafc;
}

body.light-mode .about-text p,
body.light-mode .education-content p,
body.light-mode .timeline-content p,
body.light-mode .project-content p,
body.light-mode .contact-info p {
    color: #475569;
}

body.light-mode .skills-box,
body.light-mode .tools-box,
body.light-mode .education-card,
body.light-mode .timeline-content,
body.light-mode .project-card,
body.light-mode .certificate-card,
body.light-mode .contact-info,
body.light-mode .contact-form {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.08);
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.08);
}

body.light-mode .skills-box h3,
body.light-mode .tools-box h3,
body.light-mode .education-content h3,
body.light-mode .timeline-content h3,
body.light-mode .project-content h3,
body.light-mode .contact-info h3 {
    color: #0f172a;
}

body.light-mode .tool {
    background: #f1f5f9;
}

body.light-mode .tool span {
    color: #334155;
}

body.light-mode .skill-info {
    color: #334155;
}

body.light-mode .input-group input,
body.light-mode .input-group textarea {
    background: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
}

body.light-mode .input-group label {
    color: #64748b;
}

body.light-mode footer {
    background: #e2e8f0;
}

body.light-mode .footer-bottom {
    border-top-color: rgba(15, 23, 42, 0.1);
}

body.light-mode .footer-bottom p {
    color: #64748b;
}

body.light-mode .code-window {
    box-shadow: 0 25px 70px rgba(15, 23, 42, 0.2);
}


/* ============================= */
/* MOBILE THEME BUTTON */
/* ============================= */

@media (max-width: 768px) {

    .theme-toggle {
        margin-left: auto;
        margin-right: 55px;
    }

}
/* ============================= */
/* PROFILE PHOTO */
/* ============================= */

.profile-photo-card {
    position: relative;
    width: 320px;
    height: 380px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.profile-photo-wrapper {
    position: relative;
    z-index: 2;
    width: 270px;
    height: 330px;
    padding: 6px;
    border-radius: 30px;
    background: linear-gradient(
        135deg,
        #38bdf8,
        #0ea5e9,
        #6366f1
    );
    transform: rotate(-3deg);
    transition: 0.5s ease;
}

.profile-photo-wrapper:hover {
    transform: rotate(0deg) scale(1.03);
}

.profile-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
    display: block;
}

.profile-photo-glow {
    position: absolute;
    width: 240px;
    height: 240px;
    background: #38bdf8;
    filter: blur(100px);
    opacity: 0.25;
    z-index: 1;
}

@media (max-width: 768px) {

    .profile-photo-card {
        width: 280px;
        height: 340px;
        margin: 0 auto;
    }

    .profile-photo-wrapper {
        width: 230px;
        height: 290px;
    }

}
/* ================================= */
/* PROJECT IMAGE */
/* ================================= */

.project-image {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: #020617;
}

.project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.project-card:hover .project-image img {
    transform: scale(1.08);
}


/* ================================= */
/* PROJECT OVERLAY */
/* ================================= */

.project-overlay {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: flex-end;

    padding: 20px;

    background: linear-gradient(
        to top,
        rgba(2, 6, 23, 0.9),
        transparent
    );

    opacity: 0;
    transition: 0.4s ease;
}

.project-card:hover .project-overlay {
    opacity: 1;
}

.project-overlay span {
    padding: 7px 14px;

    border: 1px solid rgba(56, 189, 248, 0.5);

    border-radius: 20px;

    background: rgba(15, 23, 42, 0.8);

    color: #38bdf8;

    font-size: 13px;
}


/* ================================= */
/* PROJECT CARD HOVER */
/* ================================= */

.project-card {
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.project-card:hover {
    transform: translateY(-10px);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.35);
}


/* ================================= */
/* PROJECT BUTTON */
/* ================================= */

.project-buttons {
    display: flex;
    gap: 12px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.project-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 10px 16px;

    border-radius: 8px;

    background: #38bdf8;
    color: #0f172a;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition: 0.3s ease;
}

.project-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(56, 189, 248, 0.25);
}

.project-btn.secondary {
    background: transparent;
    border: 1px solid rgba(56, 189, 248, 0.4);
    color: #38bdf8;
}

.project-btn.secondary:hover {
    background: #38bdf8;
    color: #0f172a;
}
@media (max-width: 600px) {

    .project-image {
        height: 200px;
    }

    .project-buttons {
        flex-direction: column;
    }

    .project-btn {
        justify-content: center;
        width: 100%;
    }

}
/* ================================= */
/* COMING SOON PROJECT */
/* ================================= */

.coming-soon-image {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            circle at center,
            rgba(56, 189, 248, 0.18),
            transparent 65%
        ),
        #020617;
}


/* Coming Soon Content */

.coming-soon-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;

    text-align: center;
}


/* Rocket Icon */

.coming-soon-icon {
    width: 75px;
    height: 75px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 1px solid rgba(56, 189, 248, 0.4);

    background: rgba(56, 189, 248, 0.08);

    color: #38bdf8;

    font-size: 30px;

    animation: rocketFloat 2.5s ease-in-out infinite;
}


/* Coming Soon Text */

.coming-soon-content span {
    font-size: 14px;
    font-weight: 700;

    letter-spacing: 3px;

    color: #38bdf8;
}


/* Rocket Animation */

@keyframes rocketFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

}


/* Coming Soon Button */

.coming-soon-btn {
    cursor: default;

    background: rgba(56, 189, 248, 0.08);

    border: 1px solid rgba(56, 189, 248, 0.35);

    color: #38bdf8;
}

.coming-soon-btn:hover {

    background: rgba(56, 189, 248, 0.15);

    color: #38bdf8;

    transform: none;

    box-shadow: none;
}


/* Prevent hover image zoom */

.coming-soon-card:hover .coming-soon-image {

    transform: none;

}
/* ================================= */
/* ACTIVE NAVBAR LINK */
/* ================================= */

.nav-links a.active {
    color: #38bdf8;
}

.nav-links a.active::after {
    width: 100%;
}
.nav-links a {
    position: relative;
}

.nav-links a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -6px;

    width: 0;
    height: 2px;

    background: #38bdf8;

    transition: width 0.3s ease;
}

.nav-links a:hover::after {
    width: 100%;
}
/* ================================= */
/* SCROLL PROGRESS */
/* ================================= */

.scroll-progress {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    z-index: 9999;

    background: transparent;
}

#scrollProgress {
    width: 0%;
    height: 100%;

    background: #38bdf8;

    transition: width 0.05s linear;
}
/* ================================= */
/* PREMIUM HERO SECTION */
/* ================================= */

.hero {
    position: relative;
    min-height: 100vh;
    padding: 120px 8% 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 70px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(56, 189, 248, 0.10),
            transparent 30%
        ),
        #020617;
}


/* ================================= */
/* GRID BACKGROUND */
/* ================================= */

.hero-grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(56, 189, 248, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(56, 189, 248, 0.035) 1px,
            transparent 1px
        );

    background-size: 50px 50px;

    mask-image: linear-gradient(
        to bottom,
        black,
        transparent 90%
    );

    pointer-events: none;
}


/* ================================= */
/* BACKGROUND ORBS */
/* ================================= */

.hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}

.orb-one {
    width: 300px;
    height: 300px;
    top: 15%;
    left: -120px;
    background: rgba(14, 165, 233, 0.13);
    animation: orbFloatOne 8s ease-in-out infinite;
}

.orb-two {
    width: 250px;
    height: 250px;
    right: 10%;
    bottom: 5%;
    background: rgba(99, 102, 241, 0.12);
    animation: orbFloatTwo 10s ease-in-out infinite;
}

.orb-three {
    width: 160px;
    height: 160px;
    top: 20%;
    right: 30%;
    background: rgba(56, 189, 248, 0.08);
    animation: orbFloatThree 7s ease-in-out infinite;
}

@keyframes orbFloatOne {

    0%, 100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(50px, 40px);
    }

}

@keyframes orbFloatTwo {

    0%, 100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(-40px, -30px);
    }

}

@keyframes orbFloatThree {

    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.4);
    }

}


/* ================================= */
/* HERO CONTENT */
/* ================================= */

.hero-content {
    position: relative;
    z-index: 5;
    max-width: 650px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 8px 15px;

    margin-bottom: 25px;

    border: 1px solid rgba(56, 189, 248, 0.25);
    border-radius: 30px;

    background: rgba(56, 189, 248, 0.06);

    color: #94a3b8;

    font-size: 12px;
    font-weight: 500;

    backdrop-filter: blur(10px);
}

.status-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #22c55e;

    box-shadow:
        0 0 0 4px rgba(34, 197, 94, 0.12),
        0 0 15px rgba(34, 197, 94, 0.6);

    animation: statusPulse 2s infinite;
}

@keyframes statusPulse {

    0%, 100% {
        box-shadow:
            0 0 0 4px rgba(34, 197, 94, 0.12),
            0 0 15px rgba(34, 197, 94, 0.6);
    }

    50% {
        box-shadow:
            0 0 0 8px rgba(34, 197, 94, 0.03),
            0 0 20px rgba(34, 197, 94, 0.8);
    }

}


.hero-small {
    margin: 0 0 8px;

    color: #38bdf8;

    font-size: 13px;
    font-weight: 600;

    letter-spacing: 5px;
}


/* ================================= */
/* NAME */
/* ================================= */

.hero-content h1 {
    margin: 0;

    font-size: clamp(55px, 7vw, 92px);

    line-height: 0.95;

    font-weight: 800;

    letter-spacing: -4px;

    color: #ffffff;
}

.hero-content h1 span {
    display: block;

    background: linear-gradient(
        90deg,
        #38bdf8,
        #60a5fa,
        #818cf8
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;

    background-size: 200% auto;

    animation: gradientMove 5s linear infinite;
}

@keyframes gradientMove {

    0% {
        background-position: 0% center;
    }

    100% {
        background-position: 200% center;
    }

}


/* ================================= */
/* ROLE */
/* ================================= */

.hero-role {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-top: 25px;

    font-size: 22px;
    color: #94a3b8;
}

.hero-role strong {
    color: #f8fafc;
    font-weight: 600;
}

.typing-cursor {
    color: #38bdf8;
    animation: cursorBlink 0.8s infinite;
}

@keyframes cursorBlink {

    0%, 50% {
        opacity: 1;
    }

    51%, 100% {
        opacity: 0;
    }

}


/* ================================= */
/* DESCRIPTION */
/* ================================= */

.hero-description {
    max-width: 600px;

    margin: 25px 0 30px;

    color: #94a3b8;

    font-size: 16px;

    line-height: 1.8;
}


/* ================================= */
/* BUTTONS */
/* ================================= */

.hero-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.hero-buttons .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 48px;

    padding: 0 20px;

    border-radius: 10px;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}

.primary-btn {
    color: #020617;
    background: #38bdf8;
    border: 1px solid #38bdf8;

    box-shadow:
        0 10px 30px rgba(56, 189, 248, 0.18);
}

.primary-btn:hover {
    transform: translateY(-4px);

    box-shadow:
        0 15px 35px rgba(56, 189, 248, 0.3);
}

.outline-btn {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(148, 163, 184, 0.25);
}

.outline-btn:hover {
    transform: translateY(-4px);

    border-color: #38bdf8;

    color: #38bdf8;

    background: rgba(56, 189, 248, 0.05);
}

.resume-btn {
    color: #cbd5e1;
    background: transparent;
    border: 1px solid rgba(56, 189, 248, 0.25);
}

.resume-btn:hover {
    transform: translateY(-4px);

    color: #38bdf8;

    border-color: #38bdf8;
}


/* ================================= */
/* SOCIALS */
/* ================================= */

.hero-socials {
    display: flex;
    gap: 12px;

    margin-top: 30px;
}

.hero-socials a {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;

    color: #94a3b8;

    background: rgba(255, 255, 255, 0.02);

    text-decoration: none;

    transition: 0.3s ease;
}

.hero-socials a:hover {
    color: #38bdf8;

    border-color: rgba(56, 189, 248, 0.5);

    transform: translateY(-4px);

    box-shadow:
        0 10px 25px rgba(56, 189, 248, 0.12);
}


/* ================================= */
/* DEVELOPER VISUAL */
/* ================================= */

.hero-visual {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 520px;

    z-index: 4;
}

.visual-glow {
    position: absolute;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    background: rgba(56, 189, 248, 0.08);

    filter: blur(70px);
}


/* ================================= */
/* DEVELOPER CARD */
/* ================================= */

.developer-card {
    position: relative;

    width: min(550px, 100%);

    border: 1px solid rgba(56, 189, 248, 0.18);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 23, 42, 0.98),
            rgba(2, 6, 23, 0.98)
        );

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.45),
        0 0 60px rgba(56, 189, 248, 0.06);

    overflow: hidden;

    transform:
        perspective(1000px)
        rotateY(-5deg)
        rotateX(3deg);

    transition: transform 0.5s ease;
}

.developer-card:hover {
    transform:
        perspective(1000px)
        rotateY(0deg)
        rotateX(0deg)
        translateY(-8px);
}


/* ================================= */
/* CARD HEADER */
/* ================================= */

.card-header {
    height: 50px;

    display: grid;
    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    padding: 0 18px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.06);

    background: rgba(255, 255, 255, 0.025);

    color: #64748b;

    font-family: monospace;

    font-size: 12px;
}

.card-header > span {
    text-align: center;
}

.card-header > i {
    justify-self: end;
    color: #38bdf8;
}

.card-dots {
    display: flex;
    gap: 7px;
}

.card-dots span {
    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #475569;
}


/* ================================= */
/* CODE */
/* ================================= */

.card-body {
    padding: 28px 25px;

    font-family: "Courier New", monospace;

    font-size: 14px;

    line-height: 2;
}

.code-line {
    display: flex;
    align-items: baseline;

    white-space: nowrap;
}

.line-number {
    width: 30px;

    margin-right: 15px;

    color: #334155;

    user-select: none;
}

.indent {
    padding-left: 25px;
}

.double-indent {
    padding-left: 50px;
}

.keyword {
    color: #c084fc;
    margin-right: 7px;
}

.variable {
    color: #f8fafc;
}

.property {
    color: #60a5fa;
    margin-right: 7px;
}

.string {
    color: #86efac;
}

.terminal-line {
    margin-top: 15px;

    padding-top: 12px;

    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.terminal-symbol {
    color: #38bdf8;
    margin-right: 8px;
}

.terminal-text {
    color: #f8fafc;
}

.cursor {
    width: 7px;
    height: 17px;

    margin-left: 5px;

    display: inline-block;

    background: #38bdf8;

    animation: terminalBlink 1s infinite;
}

@keyframes terminalBlink {

    0%, 45% {
        opacity: 1;
    }

    46%, 100% {
        opacity: 0;
    }

}


/* ================================= */
/* FLOATING TECH CARDS */
/* ================================= */

.floating-tech {
    position: absolute;

    display: flex;
    align-items: center;
    gap: 8px;

    padding: 10px 14px;

    border: 1px solid rgba(56, 189, 248, 0.18);

    border-radius: 10px;

    background: rgba(15, 23, 42, 0.8);

    backdrop-filter: blur(12px);

    color: #cbd5e1;

    font-size: 12px;
    font-weight: 600;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.25);

    z-index: 5;
}

.floating-tech i {
    color: #38bdf8;
    font-size: 17px;
}

.tech-html {
    top: 10%;
    left: -10px;

    animation: techFloatOne 5s ease-in-out infinite;
}

.tech-css {
    top: 38%;
    right: -35px;

    animation: techFloatTwo 6s ease-in-out infinite;
}

.tech-js {
    bottom: 15%;
    left: 0;

    animation: techFloatThree 5.5s ease-in-out infinite;
}

.tech-python {
    bottom: 5%;
    right: 25px;

    animation: techFloatFour 6.5s ease-in-out infinite;
}

@keyframes techFloatOne {

    0%, 100% {
        transform: translateY(0) rotate(-4deg);
    }

    50% {
        transform: translateY(-15px) rotate(2deg);
    }

}

@keyframes techFloatTwo {

    0%, 100% {
        transform: translateY(0) rotate(3deg);
    }

    50% {
        transform: translateY(18px) rotate(-2deg);
    }

}

@keyframes techFloatThree {

    0%, 100% {
        transform: translateY(0) rotate(3deg);
    }

    50% {
        transform: translateY(-13px) rotate(-3deg);
    }

}

@keyframes techFloatFour {

    0%, 100% {
        transform: translateY(0) rotate(-3deg);
    }

    50% {
        transform: translateY(12px) rotate(2deg);
    }

}


/* ================================= */
/* SCROLL INDICATOR */
/* ================================= */

.hero-scroll {
    position: absolute;

    bottom: 25px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;

    color: #64748b;

    text-decoration: none;

    font-size: 10px;

    letter-spacing: 1px;

    z-index: 5;
}

.hero-scroll i {
    color: #38bdf8;

    animation: scrollBounce 1.8s infinite;
}

@keyframes scrollBounce {

    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(6px);
    }

}
/* ================================= */
/* FINAL RESPONSIVE DESIGN */
/* ================================= */

/* ---------- TABLET ---------- */

@media (max-width: 1000px) {

    /* NAVBAR */

    .navbar {
        height: 70px;
        padding: 0 20px;
    }

    .logo {
        font-size: 22px;
    }

    .nav-links {
        position: absolute;
        top: 70px;
        right: 0;

        width: 280px;
        max-height: calc(100vh - 70px);

        padding: 15px 20px;

        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;

        overflow-y: auto;

        background: rgba(15, 23, 42, 0.97);
        backdrop-filter: blur(20px);

        border-left: 1px solid rgba(56, 189, 248, 0.12);
        border-bottom: 1px solid rgba(56, 189, 248, 0.12);

        transform: translateX(110%);
        transition: transform 0.35s ease;
    }

    .nav-links.active {
        transform: translateX(0);
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links a {
        width: 100%;
        display: block;
        padding: 13px 5px;
        font-size: 14px;
    }

    .nav-links a::after {
        bottom: 5px;
    }

    /* HAMBURGER */

    .menu-button {
        display: flex;

        width: 42px;
        height: 42px;

        align-items: center;
        justify-content: center;

        margin-left: 10px;

        border: 1px solid rgba(56, 189, 248, 0.2);
        border-radius: 9px;

        background: rgba(56, 189, 248, 0.05);

        color: #38bdf8;

        font-size: 18px;

        cursor: pointer;

        transition: 0.3s ease;
    }

    .menu-button:hover {
        background: rgba(56, 189, 248, 0.12);
    }

    /* THEME BUTTON */

    .theme-toggle {
        margin-left: auto;
    }

    /* HERO */

    .hero {
        grid-template-columns: 1fr;
        min-height: auto;

        padding-top: 120px;
        padding-bottom: 90px;

        text-align: center;
    }

    .hero-content {
        margin: auto;
        max-width: 750px;
    }

    .hero-badge,
    .hero-role,
    .hero-buttons,
    .hero-socials {
        justify-content: center;
    }

    .hero-description {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-visual {
        width: 90%;
        margin: 20px auto 0;
    }

    /* ABOUT */

    .about-container {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .about-image {
        order: -1;
        display: flex;
        justify-content: center;
    }

    .about-info {
        text-align: left;
    }

    /* SKILLS */

    .skills-wrapper {
        grid-template-columns: 1fr;
    }

    /* EDUCATION */

    .education-container {
        grid-template-columns: 1fr;
    }

    /* PROJECTS */

    .projects-container {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CONTACT */

    .contact-container {
        grid-template-columns: 1fr;
    }

}


/* ---------- MOBILE ---------- */

@media (max-width: 650px) {

    /* GENERAL */

    section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .section-title h2 {
        font-size: 34px;
    }

    .section-title p {
        font-size: 11px;
        letter-spacing: 2px;
    }


    /* NAVBAR */

    .navbar {
        height: 65px;
        padding: 0 15px;
    }

    .logo {
        font-size: 20px;
    }

    .nav-links {
        top: 65px;
        width: 100%;
        max-width: 320px;
    }

    .theme-toggle {
        width: 38px;
        height: 38px;
    }


    /* HERO */

    .hero {
        padding: 105px 20px 75px;
    }

    .hero-small {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .hero-content h1 {
        font-size: 54px;
        line-height: 0.98;
        letter-spacing: -3px;
    }

    .hero-role {
        font-size: 17px;
        flex-wrap: wrap;
        margin-top: 22px;
    }

    .hero-description {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 20px;
    }

    .hero-buttons {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }

    .hero-buttons .btn {
        width: 100%;
        min-height: 48px;
    }

    .hero-socials {
        margin-top: 22px;
    }


    /* HERO CODE CARD */

    .hero-visual {
        width: 100%;
        min-height: 390px;
    }

    .developer-card {
        width: 100%;
        border-radius: 14px;
        transform: none;
    }

    .developer-card:hover {
        transform: translateY(-5px);
    }

    .card-header {
        height: 45px;
        padding: 0 12px;
        font-size: 10px;
    }

    .card-body {
        padding: 18px 10px;
        font-size: 9px;

        overflow-x: auto;
    }

    .line-number {
        width: 18px;
        margin-right: 7px;
    }

    .indent {
        padding-left: 12px;
    }

    .double-indent {
        padding-left: 24px;
    }

    /* FLOATING TECHNOLOGY CARDS */

    .floating-tech {
        padding: 7px 9px;
        font-size: 9px;
        gap: 5px;
    }

    .floating-tech i {
        font-size: 13px;
    }

    .tech-html {
        top: -5px;
        left: -3px;
    }

    .tech-css {
        top: 35%;
        right: -3px;
    }

    .tech-js {
        bottom: 15%;
        left: -3px;
    }

    .tech-python {
        bottom: -5px;
        right: 5px;
    }

    .hero-scroll {
        display: none;
    }


    /* ABOUT */

    .about-container {
        gap: 30px;
    }

    .profile-photo-card {
        width: 280px;
        height: 340px;
    }

    .profile-photo-wrapper {
        width: 240px;
        height: 300px;
    }

    .about-text h3 {
        font-size: 23px;
    }

    .about-text p {
        font-size: 14px;
        line-height: 1.7;
    }

    .about-info {
        font-size: 13px;
    }


    /* SKILLS */

    .skills-wrapper {
        gap: 25px;
    }

    .skills-box,
    .tools-box {
        padding: 25px 20px;
    }

    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }


    /* EDUCATION */

    .education-card {
        padding: 25px 20px;
    }

    .education-content h3 {
        font-size: 20px;
    }

    .education-content p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* EXPERIENCE TIMELINE */

    .timeline {
        padding-left: 0;
    }

    .timeline::before {
        left: 12px;
    }

    .timeline-item {
        padding-left: 38px;
    }

    .timeline-dot {
        left: 5px;
    }

    .timeline-content {
        padding: 22px 18px;
    }

    .timeline-content h3 {
        font-size: 19px;
    }

    .timeline-content p {
        font-size: 13px;
        line-height: 1.7;
    }


    /* PROJECTS */

    .projects-container {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .project-image {
        height: 200px;
    }

    .project-content {
        padding: 22px 18px;
    }

    .project-content h3 {
        font-size: 21px;
    }

    .project-content p {
        font-size: 13px;
        line-height: 1.7;
    }

    .project-buttons {
        flex-direction: column;
    }

    .project-btn {
        width: 100%;
        justify-content: center;
    }


    /* CERTIFICATES */

    .certificates-container {
        grid-template-columns: 1fr;
    }


    /* CONTACT */

    .contact-container {
        gap: 30px;
    }

    .contact-form {
        padding: 25px 18px;
    }

    .input-group input,
    .input-group textarea {
        font-size: 13px;
    }

    .submit-btn {
        width: 100%;
        justify-content: center;
    }


    /* FOOTER */

    footer {
        padding: 30px 20px;
        text-align: center;
    }

}


/* ---------- VERY SMALL PHONES ---------- */

@media (max-width: 400px) {

    .hero-content h1 {
        font-size: 45px;
    }

    .hero-role {
        font-size: 15px;
    }

    .hero-description {
        font-size: 13px;
    }

    .hero-visual {
        min-height: 350px;
    }

    .card-body {
        font-size: 8px;
    }

    .floating-tech {
        display: none;
    }

    .profile-photo-card {
        transform: scale(0.9);
    }

    .tools-grid {
        grid-template-columns: 1fr;
    }

}