/* =========================
   GOOGLE FONT
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
    font-family:'Inter',sans-serif;
}

/* =========================
   COLORS
========================= */

:root{
    --bg:#0A0F1C;
    --card:#111827;
    --card-hover:#1F2937;

    --primary:#38BDF8;
    --secondary:#14B8A6;

    --text:#F8FAFC;
    --text-light:#94A3B8;

    --border:#1E293B;
}

/* =========================
   BODY
========================= */

body{
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
}

/* =========================
   NAVBAR
========================= */

nav{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:20px 8%;

    position:fixed;
    top:0;
    width:100%;

    background:rgba(10,15,28,0.85);

    backdrop-filter:blur(15px);

    border-bottom:1px solid var(--border);

    z-index:1000;
}

.logo{
    font-size:1.8rem;
    font-weight:700;
    color:var(--primary);
}

nav ul{
    display:flex;
    list-style:none;
    gap:30px;
}

nav a{
    text-decoration:none;
    color:var(--text);
    font-weight:500;
    transition:0.3s;
}

nav a:hover{
    color:var(--primary);
}

/* =========================
   HERO
========================= */

.hero{
    min-height:100vh;

    display:flex;
    align-items:center;

    padding:0 8%;

    background:
    radial-gradient(
        circle at top right,
        rgba(56,189,248,.15),
        transparent 35%
    ),
    radial-gradient(
        circle at bottom left,
        rgba(20,184,166,.12),
        transparent 30%
    );
}

.hero-content{
    max-width:900px;
}

.hero h1{
    font-size:4rem;
    line-height:1.1;
    margin-bottom:25px;
}

.hero p{
    color:var(--text-light);

    line-height:1.9;

    font-size:1.1rem;

    max-width:750px;
}

.hero-buttons{
    margin-top:35px;
}

.btn{
    display:inline-block;

    margin-right:15px;

    padding:14px 28px;

    border-radius:12px;

    text-decoration:none;

    color:white;

    font-weight:600;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    transition:0.3s;
}

.btn:hover{
    transform:translateY(-4px);

    box-shadow:0 10px 30px rgba(56,189,248,.25);
}

/* =========================
   HERO STATS
========================= */

.stats{
    display:flex;
    flex-wrap:wrap;

    gap:25px;

    margin-top:50px;
}

.stat{
    background:var(--card);

    border:1px solid var(--border);

    padding:20px 30px;

    border-radius:16px;

    min-width:140px;
}

.stat h2{
    color:var(--primary);
    margin-bottom:20px;
}

.stat span{
    color:var(--text-light);
}

/* =========================
   SECTIONS
========================= */

section{
    padding:100px 8%;
}

section h2{
    font-size:2.5rem;

    margin-bottom:50px;

    position:relative;
}

section h2::after{
    content:'';

    position:absolute;

    width:70px;
    height:4px;

    background:var(--primary);

    bottom:-12px;
    left:0;

    border-radius:10px;
}

/* =========================
   ABOUT
========================= */

.about-content{
    display:flex;
    gap:60px;
    align-items:center;
}

.about-image img{
    width:320px;
    border-radius:20px;

    border:2px solid var(--border);
}

.about-text h3{
    color:var(--primary);
    margin-bottom:20px;
}

.about-text p{
    color:var(--text-light);

    line-height:1.9;

    margin-bottom:15px;
}

/* =========================
   SERVICES
========================= */

.services-container{
    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;
}

.servicecard h3{

    color:var(--primary);

    margin-bottom:15px;

    font-size:25px;

    font-weight:700;

    text-align: center;
}

.servicecard p{

    color:var(--text-light);

    line-height:1.8;

    font-size:1rem;

    text-align: center;
}

/* =========================
   SKILLS SECTION
========================= */

#skills{
    padding:100px 8%;
}

#skills h2{
    font-size:2.5rem;
    margin-bottom:50px;
    color:#fff;
}

.skills-container{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.skill-box{

    background:
    linear-gradient(
        145deg,
        rgba(15,23,42,.95),
        rgba(30,41,59,.95)
    );

    border:
    1px solid rgba(56,189,248,.15);

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    transition:.4s ease;

    position:relative;

    overflow:hidden;
}

/* Glow effect */

.skill-box::before{

    content:"";

    position:absolute;

    width:200px;
    height:200px;

    background:
    radial-gradient(
        rgba(56,189,248,.15),
        transparent
    );

    top:-100px;
    right:-100px;

    transition:.5s;
}

.skill-box:hover{

    transform:
    translateY(-10px);

    box-shadow:
    0 20px 40px
    rgba(56,189,248,.15);
}

.skill-box:hover::before{
    transform:scale(1.5);
}

.skill-box i{

    font-size:3rem;

    color:#38bdf8;

    margin-bottom:20px;
}

.skill-box h3{

    color:#fff;

    font-size:1.4rem;

    margin-bottom:15px;
}

.skill-box p{

    color:#94a3b8;

    line-height:1.8;

    font-size:.95rem;
}

/* Optional skill tags */

.skill-tags{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

    margin-top:20px;
}

.skill-tags span{

    background:
    rgba(56,189,248,.08);

    color:#38bdf8;

    border:
    1px solid rgba(56,189,248,.2);

    padding:8px 14px;

    border-radius:20px;

    font-size:.85rem;

    transition:.3s;
}

.skill-tags span:hover{

    background:#38bdf8;

    color:#0f172a;
}

/* Responsive */

@media(max-width:768px){

    #skills h2{
        font-size:2rem;
    }

    .skill-box{
        padding:30px 20px;
    }

    .skill-box i{
        font-size:2.5rem;
    }
}

/* =========================
   EXPERIENCE
========================= */
.experience-card{
    background:linear-gradient(
        135deg,
        rgba(15,23,42,.95),
        rgba(30,41,59,.95)
    );

    border:1px solid rgba(56,189,248,.15);
    border-radius:20px;
    padding:30px;
    margin-top:30px;

    transition:.4s ease;
}

.experience-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(56,189,248,.15);
}

.experience-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
}

.experience-header h3{
    color:#38bdf8;
    font-size:1.5rem;
}

.experience-header span{
    color:#94a3b8;
}

.experience-card h4{
    color:#e2e8f0;
    margin-bottom:20px;
}

.experience-card ul{
    padding-left:20px;
}

.experience-card li{
    margin-bottom:12px;
    color:#cbd5e1;
    line-height:1.7;
}

.company-info{
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:20px;
}

.company-info img{
    width:70px;
    height:70px;
    object-fit:contain;
    background:white;
    padding:8px;
    border-radius:12px;
}

.company-info h3{
    color:#38bdf8;
    margin-bottom:5px;
}

.company-info h4{
    color:#e2e8f0;
    margin-bottom:5px;
}

.internship-badge{
    display:inline-block;
    background:linear-gradient(
        135deg,
        #38bdf8,
        #06b6d4
    );

    color:white;
    padding:8px 16px;
    border-radius:30px;
    font-size:.85rem;
    font-weight:600;
    margin-bottom:20px;
}
/* =========================
   PROJECTS
========================= */
#projects{
    padding:100px 8%;
}

.project-card{

    display:flex;
    align-items:center;

    gap:50px;

    background:linear-gradient(
        145deg,
        #111827,
        #0f1b35
    );

    border:1px solid var(--border);

    border-radius:25px;

    padding:35px;

    margin-bottom:50px;

    transition:.4s;

    overflow:hidden;
}

.project-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.35);
}

.project-card.reverse{
    flex-direction:row-reverse;
}

/* IMAGE */

.project-gallery{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
    margin-bottom:20px;
}

.project-gallery img{
    width:400px;
    border-radius:12px;
    border:1px solid var(--border);
    transition:.3s;
}

.project-gallery img:hover{
    transform:scale(1.03);
}

.hero-image img{
    width:100%;
    max-height:450px;
    object-fit:cover;
    border-radius:16px;
    margin-bottom:20px;
}

.tech-grid{
    display:grid;
    grid-template-columns:repeat(2,2fr);
    gap:15px;
    margin-bottom:20px;
}

.tech-grid img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:12px;
}

.mobile-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.mobile-grid img{
    width:100%;
    max-height:420px;
    object-fit:contain;
    background:#111827;
    padding:10px;
    border-radius:16px;
    border:1px solid var(--border);
}

/* CONTENT */

.project-content{
    flex:1.2;
}

.project-content h3{

    font-size:2rem;

    color:var(--primary);

    margin:20px 0;
}

.project-content p{

    color:var(--text-light);

    line-height:1.8;

    margin-bottom:20px;
}

/* TAGS */

.featured-badge{

    background:linear-gradient(
        90deg,
        #38BDF8,
        #14B8A6
    );

    color:white;

    padding:8px 18px;

    border-radius:20px;

    font-size:.85rem;

    font-weight:600;
}

.project-tag{

    background:rgba(56,189,248,.15);

    color:var(--primary);

    padding:8px 18px;

    border-radius:20px;

    font-size:.85rem;
}

/* TECH STACK */

.tech-stack{

    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin:20px 0;
}

.tech-stack span{

    background:#172033;

    color:var(--primary);

    border:1px solid rgba(56,189,248,.2);

    padding:8px 14px;

    border-radius:20px;

    font-size:.85rem;
}

/* PROJECT STATS */

.project-stats{

    display:flex;
    flex-wrap:wrap;

    gap:12px;

    margin:20px 0;
}

.project-stats span{

    background:rgba(255,255,255,.04);

    border:1px solid var(--border);

    padding:10px 15px;

    border-radius:20px;

    color:var(--text-light);

    font-size:.85rem;
}

.project-role h4{

    font-size:18px;

    color:var(--primary);

    margin:20px 0;
}

.project-role ul{

    color:var(--text-light);

    line-height:1.8;

    margin-bottom:20px;
}

/* BUTTONS */

.project-buttons{

    display:flex;

    gap:15px;

    margin-top:25px;
}

.project-buttons .btn{

    padding:12px 22px;
}

.secondary{

    background:transparent;

    color:var(--primary);

    border:1px solid var(--primary);
}

.secondary:hover{

    background:var(--primary);

    color:white;
}

/* RESPONSIVE */

@media(max-width:900px){

    .project-card,
    .project-card.reverse{

        flex-direction:column;
    }

    .project-content h3{
        font-size:1.6rem;
    }

    .project-buttons{
        flex-wrap:wrap;
    }
}

/* =========================
   ACHIEVEMENT
========================= */
.achievement-grid{

    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:25px;

    margin-top:50px;
}

.achievement-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-bottom:25px;
}

.achievement-row-bottom{
    width:70%;
    margin:auto;
    grid-template-columns:repeat(2,1fr);
}

.achievement-card{

    background:linear-gradient(
        145deg,
        #111827,
        #0f1b35
    );

    border:1px solid rgba(56,189,248,0.15);

    border-radius:24px;

    padding:35px;

    transition:all .35s ease;

    position:relative;

    overflow:hidden;

    min-height:280px;
}

.achievement-card::before{

    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--secondary)
    );
}

.achievement-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.35);

    border-color:rgba(56,189,248,0.4);
}

.icon{

    font-size: 3rem;
    width: 80px;
    height: 80px;
    margin-bottom:25px;

    display:block;

    line-height:1;

    transition:.3s;
}

.achievement-card:hover .achievement-icon{

    transform:scale(1.1)
    rotate(-5deg);
}

.achievement-card h3{

    color:var(--primary);

    margin-bottom:15px;

    font-size:2rem;

    font-weight:700;
}

.achievement-card p{

    color:var(--text-light);

    line-height:1.8;

    font-size:1rem;
}

@media(max-width:992px){

    .achievement-grid{

        grid-template-columns:repeat(2,1fr);
    }

    .achievement-card:nth-child(n){

        grid-column:auto;
    }
}

@media(max-width:768px){

    .achievement-grid{

        grid-template-columns:1fr;
    }
}


/* =========================
   EDUCATION
========================= */
.education-timeline{

    position:relative;

    max-width:900px;

    margin:auto;
}

.education-timeline::before{

    content:'';

    position:absolute;

    left:120px;

    top:0;

    width:3px;

    height:100%;

    background:var(--primary);
}

.edu-card{

    display:flex;

    gap:40px;

    margin-bottom:40px;

    position:relative;
}

.edu-year{

    min-width:100px;

    font-weight:700;

    color:var(--primary);

    position:relative;
}

.edu-year::after{

    content:'';

    position:absolute;

    right:-25px;

    top:6px;

    width:16px;
    height:16px;

    border-radius:50%;

    background:var(--primary);

    box-shadow:
    0 0 15px rgba(56,189,248,.5);
}

.edu-content{

    flex:1;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:18px;

    padding:25px 30px;

    transition:.3s;
}

.edu-content:hover{

    transform:translateY(-5px);

    background:var(--card-hover);
}

.edu-content h3{

    color:var(--primary);

    margin-bottom:10px;
}

.edu-content h4{

    margin-bottom:12px;

    color:#CBD5E1;
}

.edu-content p{

    color:var(--text-light);
}

.edu-content span{

    color:var(--primary);

    font-weight:600;
}

/* =========================
   GRID
========================= */

.grid{
    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;
}

/* =========================
   CARDS
========================= */

.card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 30px;
    min-height: 250px;

    display: flex;
    flex-direction: column;   /* Important */

    transition: 0.3s;
}

.card h3 {
    color: var(--primary);
    margin-top: 20px;
    min-height: 90px;   /* Keeps titles aligned */
}

.card p{
    color:var(--text-light);
    line-height:1.8;
    margin-bottom:50px;
}


.certificate-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: auto;      /* Pushes button to bottom */
    align-self: flex-start;

    padding: 12px 22px;
    background: linear-gradient(90deg, #2dd4bf, #38bdf8);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.issuer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: var(--text-light);
    font-size: 1.05rem;
    font-weight: 500;
}

.issuer-logo {
    width: 30px;
    height: 30px;
    object-fit: contain;
    border-radius: 6px;
}
/* =========================
   CONTACT
========================= */

#contact{
    padding:120px 8%;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;}

.contact-container{

    max-width:800px;

    background:rgba(17,24,39,.6);

    border:1px solid var(--border);

    padding:50px;

    border-radius:25px;

    backdrop-filter:blur(10px);
}

.contact-text{

    margin-top:25px;

    color:var(--text-light);

    font-size:1.1rem;

    line-height:1.8;
}

.socials{

    display:flex;

    justify-content:center;

    gap:25px;

    margin:40px 0;
}

.socials a{

    width:60px;
    height:60px;

    display:flex;

    justify-content:center;
    align-items:center;

    background:var(--card);

    border:1px solid var(--border);

    border-radius:50%;

    color:white;

    font-size:1.4rem;

    transition:.3s;
}

.socials a:hover{

    transform:translateY(-5px);

    color:var(--primary);

    box-shadow:
    0 0 25px rgba(56,189,248,.3);
}

/* =========================
   FOOTER
========================= */

footer{
    text-align:center;

    padding:35px;

    border-top:1px solid var(--border);

    color:var(--text-light);
}

/* =========================
   SCROLLBAR
========================= */

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-track{
    background:var(--bg);
}

::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:10px;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:900px){

    .hero h1{
        font-size:3rem;
    }

    .about-content{
        flex-direction:column;
        text-align:center;
    }

    .about-image img{
        width:250px;
    }

    nav{
        flex-direction:column;
        gap:15px;
    }

    nav ul{
        flex-wrap:wrap;
        justify-content:center;
    }

    .stats{
        justify-content:center;
    }
}

@media(max-width:600px){

    .hero h1{
        font-size:2.4rem;
    }

    section{
        padding:80px 6%;
    }

    .btn{
        display:block;
        margin-bottom:15px;
        text-align:center;
    }
}