/* ===========================================================
                    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-circle{

    width:52px;

    height:52px;

    border-radius:50%;

    background:#A63A50;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    font-size:18px;

    box-shadow:var(--shadow);

}

.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%;

}


/* ===========================================================
                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;

}

.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;

}

.project-content h3{

    font-size:1.6rem;

    margin-bottom:18px;

}

.project-content p{

    color:var(--muted);

    line-height:1.8;

    margin-bottom:25px;

}

.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;

}
/* ===========================================================
                    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);

}