/* ===========================================================
                    GLOBAL STYLES
=========================================================== */

body{

    background:var(--background);

    color:var(--text);

    font-family:var(--font-body);

}

main{

    overflow:hidden;

}

h1,h2,h3,h4{

    font-family:var(--font-heading);

    color:var(--heading);

}

::selection{

    background:var(--primary);

    color:white;

}


/* ===========================================================
                    NAVBAR
=========================================================== */

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

}

.navbar{

    height:82px;

    display:flex;

    align-items:center;

    backdrop-filter:blur(16px);

    background:rgba(252,251,250,.88);

    border-bottom:1px solid rgba(231,218,219,.75);

}

.navbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo-image{

    width:50px;

    height:50px;

    object-fit:cover;

    border-radius:50%;

    background:var(--surface);

    padding:3px;

    border:1px solid rgba(166,58,80,.20);

    outline:1.5px solid rgba(166,58,80,.12);

    box-shadow:
        0 4px 16px rgba(0,0,0,.08);

    transition:all .35s ease;

}

.logo-image:hover{

    transform:scale(1.06);

    outline-color:var(--primary);

    border-color:rgba(166,58,80,.45);

    box-shadow:
        0 10px 28px rgba(166,58,80,.18);

}


.nav-links{

    display:flex;

    gap:42px;

}

.nav-links a{

    color:var(--heading);

    font-weight:500;

    transition:var(--transition);

    position:relative;

}

.nav-links a:hover{

    color:var(--primary);

}

.nav-links a::after{

    content:"";

    position:absolute;

    bottom:-6px;

    left:0;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

.nav-links a:hover::after{

    width:100%;

}

/* Active Navigation */

.nav-links a.active{

    color:var(--primary);

}

.nav-links a.active::after{

    width:100%;

}


/* ===========================================================
                RESUME BUTTON
=========================================================== */

.resume-btn{

    background:var(--primary);

    color:white;

    padding:13px 24px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.resume-btn:hover{

    transform:translateY(-3px);

    background:linear-gradient(
         135deg,
        #A63A50,
        #8C2F45);

}


/* ===========================================================
                    MENU BUTTON
=========================================================== */

.menu-btn{

    display:none;

    font-size:22px;

}


/* ===========================================================
                    HERO
=========================================================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:100px;

}

.hero-container{

    display:grid;

    grid-template-columns:1fr 520px;
    gap:110px;

    align-items:center;

}

.hero-tag{

    display:inline-block;

    background:#F6E7EA;

    color:var(--primary);

    padding:10px 22px;

    border-radius:50px;

    margin-bottom:30px;

    font-weight:600;

}

.hero-title{

    font-size:clamp(3.5rem,7vw,5.8rem);

    line-height:1;

    margin-bottom:20px;

    font-weight:800;

}

.hero-title span{

    background:linear-gradient(
    135deg,
    #A63A50,
    #D8925B);

    -webkit-background-clip:text;

    color:transparent;

}

.hero-subtitle{

    font-size:2rem;

    margin-bottom:28px;

    color:var(--secondary);

    min-height:50px;

}

.hero-description{

    font-size:1.1rem;

    color:var(--muted);

    max-width:560px;

    line-height:1.9;

}


/* ===========================================================
                BUTTONS
=========================================================== */

.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:45px;

}

.btn{

    padding:16px 34px;

    border-radius:60px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:linear-gradient(
    135deg,
    #A63A50,
    #8C2F45);

    color:white;

    box-shadow:
    0 14px 35px rgba(166,58,80,.25);

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:
    0 20px 45px rgba(166,58,80,.30);
    filter:brightness(.95);

}

.btn-outline{

    border:2px solid var(--border);

    color:var(--heading);

    background:white;

}

.btn-outline:hover{

    background:var(--heading);

    color:white;

}


/* ===========================================================
                    SOCIAL
=========================================================== */

.hero-social{

    display:flex;

    gap:18px;

    margin-top:55px;

}

.hero-social a{

    width:50px;

    height:50px;

    border-radius:50%;

    background:white;

    box-shadow:var(--shadow);

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--heading);

    transition:.3s;

}

.hero-social a:hover{

    background:var(--primary);

    color:white;

    transform:translateY(-5px);

}


/* ===========================================================
                HERO IMAGE
=========================================================== */

.hero-image{

    position:relative;

}

.image-background{

    background:
    radial-gradient(
    circle,
    rgba(166,58,80,.18),
    rgba(216,146,91,.10));

}

.hero-image img{

    width:470px;

    height:470px;

    object-fit:cover;

    border-radius:50%;

    border:12px solid #FCFBFA;

    box-shadow: 0 35px 70px rgba(166,58,80,.12);

    margin-inline:auto;

}


/* ===========================================================
                SCROLL DOWN
=========================================================== */

.scroll-down{

    position:absolute;

    left:50%;

    bottom:40px;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    color:var(--muted);

    font-size:.9rem;

    animation:float 2s infinite;

}


/* ===========================================================
                HIGHLIGHTS
=========================================================== */

#highlights{

    padding-top:0;

}

.highlights-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.highlight-card{

    background:white;

    border-radius:24px;

    padding:45px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s;

}

.highlight-card:hover{

    transform:translateY(-10px);

}

.highlight-card h2{

    font-size:3rem;

    color:var(--primary);

}

.highlight-card p{

    margin-top:10px;

    color:var(--muted);

}
/* ===========================================================
                    ABOUT SECTION
=========================================================== */

.section{
    background: var(--background);
}

#about{
    padding-top: 120px;
}

#about .container{
    max-width: 900px;
}

#about .section-description{
    font-size: 1.15rem;
    text-align: center;
    color: var(--muted);
    line-height: 2;
}

/* ===========================================================
                    JOURNEY
=========================================================== */

#journey{
    background: var(--section);
}

.timeline{
    position: relative;
    max-width: 900px;
    margin: 80px auto 0;
}

.timeline::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:2px;
    height:100%;
    background:var(--border);
    transform:translateX(-50%);
}

.timeline-item{
    width:50%;
    padding:30px 50px;
    position:relative;
}

.timeline-item:nth-child(odd){
    left:0;
    text-align:right;
}

.timeline-item:nth-child(even){
    left:50%;
}

.timeline-dot{
    position:absolute;
    top:40px;
    width:18px;
    height:18px;
    background:#A63A50;
    border-radius:50%;
    border:5px solid white;
    box-shadow:var(--shadow-sm);
}

.timeline-item:nth-child(odd) .timeline-dot{
    right:-10px;
}

.timeline-item:nth-child(even) .timeline-dot{
    left:-10px;
}

.timeline-card{
    background:white;
    border-radius:20px;
    padding:30px;
    box-shadow:var(--shadow);
    transition:.35s;
}

.timeline-card:hover{
    transform:translateY(-8px);
}

.timeline-year{
    color:var(--primary);
    font-weight:700;
    margin-bottom:12px;
}

.timeline-card h3{
    margin-bottom:12px;
    font-size:1.35rem;
}

.timeline-card p{
    color:var(--muted);
}


/* ===========================================================
                    PROJECTS
=========================================================== */

#projects{
    background:var(--background);
}

.project-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:40px;

    margin-top:70px;

}

.project-card{

    background:white;

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s;

    display:flex;

    flex-direction:column;

}

.project-card:hover{

    transform:translateY(-10px);

}

.project-image{

    height:240px;

    background:#F8EFF1;

    display:flex;

    justify-content:center;

    align-items:center;

}

.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.project-content{

    padding:35px;

    display:flex;

    flex-direction:column;

    flex:1;

}

.project-content h3{

    font-size:1.6rem;

    margin-bottom:18px;

}

.project-content p{

    color:var(--muted);

    line-height:1.8;

    margin-bottom:25px;

    flex:1;

}

.project-tags{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.project-tags span{

    padding:8px 16px;

    border-radius:50px;

    background:#F6E7EA;

    color:var(--primary);

    font-size:.9rem;

    font-weight:600;

}


/* ===========================================================
                    RESEARCH
=========================================================== */

#research{

    background:var(--section);

}

.research-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:70px;

}

.research-card{

    background:white;

    padding:35px;

    border-radius:20px;

    box-shadow:var(--shadow);

    transition:.35s;

}

.research-card:hover{

    transform:translateY(-10px);

}

.research-card h3{

    font-size:1.3rem;

    margin-bottom:15px;

}

.research-card p{

    color:var(--muted);

    line-height:1.8;

}

/* ===========================================================
                    RESEARCH SECTION
=========================================================== */

.research-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

    margin-bottom:70px;

}

.research-stat{

    background:var(--surface);

    border:1px solid var(--border);

    border-radius:20px;

    padding:30px;

    text-align:center;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.research-stat:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.research-stat i{

    font-size:2rem;

    color:var(--primary);

    margin-bottom:18px;

}

.research-stat h3{

    font-size:2rem;

    color:var(--heading);

    margin-bottom:8px;

}

.research-stat p{

    color:var(--muted);

    font-size:.95rem;

}

/* =========================================================== */

.publication-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:24px;

}

.publisher-logo{

    height:48px;

    width:auto;

    background:#00629B;

    border-radius:14px;

    padding:10px 18px;

    object-fit:contain;

    box-shadow:var(--shadow-sm);

}

.publication-status{

    display:flex;

    flex-direction:column;

    gap:10px;

}

/* =========================================================== */

.publication-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:9px 18px;

    border-radius:999px;

    font-size:.85rem;

    font-weight:600;

    width:fit-content;

}

.publication-badge.ieee{

    background:#EAF4FF;

    color:#00629B;

}

.publication-badge.scopus{

    background:#FFF5EA;

    color:#E9711C;

}

.scopus-logo{

    width:22px;

    height:22px;

    object-fit:contain;

}

.verified-icon{

    color:#16A34A;

}

/* =========================================================== */

.publication-meta{

    margin:25px 0;

    padding:22px;

    border-radius:18px;

    background:var(--section);

    border:1px solid var(--border);

    display:grid;

    gap:18px;

}

.publication-meta div{

    display:flex;

    flex-direction:column;

    gap:6px;

}

.publication-meta strong{

    color:var(--heading);

    font-size:.9rem;

}

.publication-meta span{

    color:var(--text);

    line-height:1.6;

    word-break:break-word;

}

/* =========================================================== */

.research-card{

    display:flex;

    flex-direction:column;

    height:100%;

}

.research-card p{

    flex:1;

}

/* =========================================================== */

.research-card .project-buttons{

    margin-top:30px;

}

/* =========================================================== */

.research-card:hover .publisher-logo{

    transform:scale(1.03);

}

.publisher-logo{

    transition:.35s;

}

/* ===========================================================
                    RESPONSIVE
=========================================================== */

@media(max-width:992px){

.research-stats{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.research-stats{

grid-template-columns:1fr;

}

.publication-header{

flex-direction:column;

align-items:flex-start;

}

.publisher-logo{

height:42px;

}

}
/* ===========================================================
                    SKILLS
=========================================================== */

#skills{
    background:var(--background);
}

.skills-container{
    max-width:1100px;
    margin:70px auto 0;
}

.skills-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
}

.skill-chip{
    padding:14px 24px;
    background:#FCFBFA;
    border:1px solid var(--border);
    border-radius:50px;
    color:var(--heading);
    font-weight:600;
    font-size:15px;
    box-shadow:var(--shadow-sm);
    transition:var(--transition);
}

.skill-chip:hover{
    background:#A63A50;
    color:white;
    transform:translateY(-5px);
}


/* ===========================================================
                    CONTACT
=========================================================== */

#contact{
    background:var(--section);
}

.contact-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-top:70px;
}

.contact-info h3{
    font-size:2rem;
    margin-bottom:20px;
}

.contact-info p{
    color:var(--muted);
    line-height:1.9;
    margin-bottom:35px;
}

.contact-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:18px;
}

.contact-icon{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#F6E7EA;
    color:var(--primary);
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
}

.contact-form{
    background:#ffffff;
    padding:45px;
    border-radius:24px;
    box-shadow:var(--shadow);
}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:18px 22px;

    border:1px solid var(--border);

    border-radius:14px;

    margin-bottom:20px;

    font-size:15px;

    font-family:inherit;

    outline:none;

    transition:.3s;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:var(--primary);

}

.contact-form textarea{

    resize:none;

    height:170px;

}

.contact-form button{

    width:100%;

    padding:18px;

    background:var(--primary);

    color:white;

    border:none;

    border-radius:14px;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.contact-form button:hover{

    background:var(--primary-hover);

}


/* ===========================================================
                    FOOTER
=========================================================== */

footer{

    background:#FCFBFA;

    border-top:1px solid var(--border);

    padding:80px 0 40px;

}

.footer-content{

    text-align:center;

}

.footer-content h2{

    font-size:2rem;

    margin-bottom:15px;

}

.footer-content p{

    color:var(--muted);

}

.footer-links{

    display:flex;

    justify-content:center;

    gap:40px;

    margin:35px 0;

}

.footer-links a{

    color:var(--heading);

    font-weight:600;

    transition:.3s;

}

.footer-links a:hover{

    color:var(--primary);

}

.copyright{

    font-size:14px;

    color:var(--muted);

}


/* ===========================================================
                    UTILITIES
=========================================================== */

.text-center{
    text-align:center;
}

.mt-5{
    margin-top:50px;
}

.mb-5{
    margin-bottom:50px;
}

.hidden{
    display:none;
}
/* Sticky Navbar */

header.sticky .navbar{

    background:rgba(252,251,250,.95);

    box-shadow: 0 10px 30px rgba(90,76,80,.08);

}

/* Smooth Hover */

.project-card,
.highlight-card,
.research-card{

    cursor:pointer;

}

/* Image Animation */

.hero-image img{

    animation:float 5s ease-in-out infinite;

}

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

/* ===========================================================
                    SKILL CATEGORIES
=========================================================== */

.skills-category{

    font-size:1.3rem;

    font-weight:700;

    color:var(--heading);

    margin:45px 0 20px;

}

/* ===========================================================
                    ABOUT
=========================================================== */

.about-container{

    display:grid;

    grid-template-columns:350px 1fr;

    gap:70px;

    align-items:center;

    margin-top:70px;

}

.about-image{

    text-align:center;

}

.about-image img{

    width:320px;

    height:320px;

    object-fit:cover;

    border-radius:30px;

    box-shadow:var(--shadow-lg);

}

.about-content h3{

    font-size:2rem;

    margin-bottom:25px;

    color:var(--heading);

    line-height:1.4;

}

.about-content p{

    color:var(--muted);

    margin-bottom:20px;

    line-height:1.9;

}

.about-highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-top:35px;

}

.about-box{

    background:white;

    padding:28px;

    border-radius:18px;

    box-shadow:var(--shadow);

    text-align:center;

}

.about-box h4{

    color:var(--primary);

    font-size:2rem;

    margin-bottom:8px;

}

.about-box span{

    color:var(--muted);

}

/* ===========================================================
                    EDUCATION
=========================================================== */

#education{

    background:var(--section);

}

.education-container{

    margin-top:70px;

}

.education-card{

    background:white;

    border-radius:24px;

    padding:40px;

    text-align:center;

    box-shadow:var(--shadow);

    margin-bottom:45px;

}

.education-card h3{

    font-size:2rem;

    margin-bottom:10px;

}

.education-card h4{

    color:var(--primary);

    margin-bottom:15px;

}

.cgpa{

    margin-top:20px;

    color:var(--primary);

    font-size:2.4rem;

}

.semester-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.semester-card{

    background:white;

    border-radius:20px;

    padding:25px;

    box-shadow:var(--shadow);

    text-align:center;

    transition:.35s;

}

.semester-card:hover{

    transform:translateY(-8px);

}

.semester-card h4{

    margin-bottom:10px;

}

.semester-card p{

    font-size:1.5rem;

    font-weight:700;

    color:var(--primary);

}

/* ===========================================================
                    PROJECT IMPROVEMENTS
=========================================================== */

.project-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 18px;

    background:rgba(166,58,80,.10);

    color:var(--primary);

    border:1px solid rgba(166,58,80,.15);

    border-radius:999px;

    font-size:.8rem;

    font-weight:600;

    margin-bottom:18px;

}

.project-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:28px;

}

.project-buttons .btn{

    margin:0;

}

.project-image{

    overflow:hidden;

}

.project-image img{

    transition:transform .45s ease;

}

.project-card:hover .project-image img{

    transform:scale(1.05);

}


/* ===========================================================
                SCROLL PROGRESS BAR
=========================================================== */

.scroll-progress{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:transparent;

    z-index:99999;

}

.scroll-progress-bar{

    width:0;

    height:100%;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--accent)
    );

    transition:width .12s linear;

}

/* ===========================================================
                    BACK TO TOP
=========================================================== */

#backToTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:1.2rem;

    cursor:pointer;

    box-shadow:var(--shadow);

    opacity:0;

    visibility:hidden;

    transform:translateY(25px);

    transition:var(--transition);

    z-index:9999;

}

#backToTop:hover{

    background:var(--primary-hover);

    transform:translateY(-6px);

}

#backToTop.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

/* ===========================================================
                MOBILE NAVIGATION
=========================================================== */

@media (max-width:992px){

    .resume-btn{

        display:none;

    }

    .menu-btn{

        display:flex;

        align-items:center;

        justify-content:center;

        width:48px;

        height:48px;

        border-radius:50%;

        background:var(--surface);

        box-shadow:var(--shadow-sm);

        color:var(--heading);

        cursor:pointer;

        z-index:1001;

    }

    .menu-btn:hover{

        background:var(--primary);

        color:#fff;

    }

    .nav-links{

        position:fixed;

        top:82px;

        left:0;

        width:100%;

        background:rgba(252,251,250,.98);

        backdrop-filter:blur(16px);

        display:flex;

        flex-direction:column;

        align-items:center;

        gap:28px;

        padding:40px 0;

        transform:translateY(-120%);

        opacity:0;

        visibility:hidden;

        transition:.35s ease;

        box-shadow:0 18px 40px rgba(0,0,0,.08);

    }

    .nav-links.active{

        transform:translateY(0);

        opacity:1;

        visibility:visible;

    }

    .nav-links li{

        width:100%;

        text-align:center;

    }

    .nav-links a{

        display:block;

        font-size:1.05rem;

        padding:8px 0;

    }

}

/* ===========================================================
                SMALL DEVICES
=========================================================== */

@media (max-width:768px){

    .navbar{

        height:74px;

    }

.logo-image{

    width:46px;

    height:46px;

}

}