/*==================================================
    MUHAMMAD SUFYAN PORTFOLIO
    PREMIUM CSS
    PART 1
==================================================*/

/*=============================
RESET
=============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#07111c;
    color:#ffffff;
    overflow-x:hidden;
    line-height:1.7;
}

/*=============================
VARIABLES
=============================*/

:root{

--primary:#00bfff;
--secondary:#0099ff;
--dark:#07111c;
--dark2:#0b1725;
--card:#111f2f;
--white:#ffffff;
--gray:#b8c2d1;
--border:rgba(255,255,255,.08);

}

/*=============================
CONTAINER
=============================*/

.container{

width:90%;
max-width:1200px;
margin:auto;

}

/*=============================
LINKS
=============================*/

a{

text-decoration:none;
color:inherit;

}

/*=============================
IMAGES
=============================*/

img{

display:block;
max-width:100%;

}

/*=============================
HEADER
=============================*/

header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;

}

/*=============================
NAVBAR
=============================*/

.navbar{

height:80px;

padding:0 7%;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(7,17,28,.88);

backdrop-filter:blur(16px);

border-bottom:1px solid var(--border);

}

/*=============================
LOGO
=============================*/

.logo{

font-size:28px;

font-weight:700;

letter-spacing:.5px;

}

.logo span{

color:var(--primary);

}

/*=============================
NAV LINKS
=============================*/

.nav-links{

display:flex;

gap:35px;

align-items:center;

}

.nav-links a{

position:relative;

font-size:16px;

font-weight:500;

transition:.35s;

}

.nav-links a:hover{

color:var(--primary);

}

.nav-links a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:var(--primary);

transition:.35s;

}

.nav-links a:hover::after{

width:100%;

}

/*=============================
THEME BUTTON
=============================*/

.theme-btn{

width:46px;

height:46px;

border:none;

border-radius:50%;

background:var(--card);

color:#fff;

cursor:pointer;

font-size:18px;

transition:.35s;

}

.theme-btn:hover{

background:var(--primary);

transform:rotate(180deg);

}

/*=============================
HERO
=============================*/

.hero{

min-height:100vh;

display:flex;

justify-content:space-between;

align-items:center;

gap:70px;

padding:140px 8% 80px;

}

/*=============================
LEFT
=============================*/

.hero-content{

flex:1;

}

.hero-content h1{

font-size:65px;

font-weight:700;

margin-bottom:10px;

line-height:1.1;

}

.hero-content h2{

font-size:34px;

color:var(--primary);

margin-bottom:15px;

}

.hero-content h3{

font-size:20px;

font-weight:500;

color:var(--gray);

margin-bottom:30px;

line-height:1.6;

}

.hero-text{

font-size:18px;

color:var(--gray);

max-width:650px;

margin-bottom:35px;

}

/*=============================
BUTTONS
=============================*/

.hero-buttons{

display:flex;

gap:20px;

margin-bottom:40px;

}

.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:15px 35px;

background:var(--primary);

color:#fff;

font-weight:600;

border-radius:50px;

transition:.35s;

}

.btn:hover{

transform:translateY(-5px);

box-shadow:0 20px 40px rgba(0,191,255,.35);

}

.btn-outline{

background:transparent;

border:2px solid var(--primary);

}

.btn-outline:hover{

background:var(--primary);

}

/*=============================
CERTIFICATION BADGES
=============================*/

.hero-certifications{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.hero-certifications img{

width:75px;

height:75px;

background:#fff;

padding:12px;

border-radius:16px;

transition:.35s;

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.hero-certifications img:hover{

transform:translateY(-10px);

}

/*=============================
RIGHT
=============================*/

.hero-image{

flex:1;

display:flex;

justify-content:center;

}

.hero-image img{

width:420px;

height:420px;

border-radius:50%;

object-fit:cover;

border:6px solid rgba(255,255,255,.08);

box-shadow:0 25px 60px rgba(0,0,0,.45);

transition:.5s;

}

.hero-image img:hover{

transform:scale(1.03);

box-shadow:0 35px 80px rgba(0,191,255,.25);

}
/*==================================================
        PART 2
        ABOUT • EXPERIENCE • EDUCATION
==================================================*/


/*=============================
SECTION
=============================*/

section{
    padding:100px 8%;
}

.section-title{
    font-size:42px;
    text-align:center;
    margin-bottom:15px;
    font-weight:700;
}

.section-title span{
    color:var(--primary);
}

.section-subtitle{
    text-align:center;
    color:var(--gray);
    margin-bottom:60px;
    font-size:18px;
}


/*=============================
ABOUT
=============================*/

.about-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

.card{

    background:var(--card);

    border-radius:20px;

    padding:35px;

    border:1px solid var(--border);

    transition:.4s;

}

.card:hover{

    transform:translateY(-10px);

    border-color:var(--primary);

    box-shadow:0 25px 60px rgba(0,191,255,.18);

}

.card i{

    font-size:40px;

    color:var(--primary);

    margin-bottom:20px;

}

.card h3{

    margin-bottom:15px;

    font-size:22px;

}

.card p{

    color:var(--gray);

    font-size:16px;

}


/*=============================
EXPERIENCE
=============================*/

.timeline{

    position:relative;

    margin-top:60px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:50%;

    transform:translateX(-50%);

    width:4px;

    height:100%;

    background:var(--primary);

}

.timeline-item{

    position:relative;

    width:46%;

    padding:35px;

    background:var(--card);

    border-radius:20px;

    border:1px solid var(--border);

    margin-bottom:50px;

    transition:.4s;

}

.timeline-item:hover{

    transform:translateY(-8px);

    border-color:var(--primary);

    box-shadow:0 20px 45px rgba(0,191,255,.20);

}

.timeline-item:nth-child(odd){

    left:0;

}

.timeline-item:nth-child(even){

    left:54%;

}

.timeline-item::before{

    content:"";

    position:absolute;

    width:22px;

    height:22px;

    border-radius:50%;

    background:var(--primary);

    top:40px;

}

.timeline-item:nth-child(odd)::before{

    right:-53px;

}

.timeline-item:nth-child(even)::before{

    left:-53px;

}

.timeline-item h3{

    font-size:28px;

    color:#fff;

}

.timeline-item h4{

    color:var(--primary);

    margin:10px 0;

}

.timeline-item span{

    display:inline-block;

    margin-bottom:20px;

    color:#9fb3c8;

    font-weight:600;

}

.timeline-item p{

    color:var(--gray);

}


/*=============================
EDUCATION
=============================*/

.education-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin-top:60px;

}

.education-box{

background:var(--card);

padding:35px;

border-radius:20px;

border:1px solid var(--border);

transition:.4s;

}

.education-box:hover{

transform:translateY(-10px);

border-color:var(--primary);

}

.education-box h3{

font-size:24px;

margin-bottom:12px;

}

.education-box h4{

color:var(--primary);

margin-bottom:15px;

}

.education-box span{

display:block;

margin-bottom:15px;

color:#9fb3c8;

font-weight:600;

}

.education-box p{

color:var(--gray);

}


/*=============================
SKILLS
=============================*/

.skills{

margin-top:60px;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:25px;

}

.skill{

margin-bottom:25px;

}

.skill-title{

display:flex;

justify-content:space-between;

margin-bottom:10px;

font-weight:600;

}

.skill-bar{

height:10px;

background:#1d2d42;

border-radius:20px;

overflow:hidden;

}

.skill-fill{

height:100%;

background:linear-gradient(90deg,#00bfff,#0095ff);

border-radius:20px;

transition:width 2s ease;

}


/*=============================
SECTION HEADING
=============================*/

section h2{

font-size:42px;

text-align:center;

margin-bottom:20px;

font-weight:700;

}

section h2::after{

content:"";

display:block;

width:80px;

height:4px;

background:var(--primary);

margin:15px auto;

border-radius:20px;

}


/*=============================
TEXT
=============================*/

section p{

font-size:17px;

color:var(--gray);

line-height:1.9;

}


/*=============================
GLASS EFFECT
=============================*/

.glass{

background:rgba(255,255,255,.05);

backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.08);

}


/*=============================
HOVER
=============================*/

.card,
.timeline-item,
.education-box{

cursor:pointer;

}
/*==================================================
        PART 3
        CERTIFICATES • PROJECTS • AWARDS
        CONTACT • FOOTER
==================================================*/

/*=============================
CERTIFICATES
=============================*/

.cert-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
    margin-top:60px;
}

.cert-card{
    background:var(--card);
    border-radius:20px;
    padding:35px;
    border:1px solid var(--border);
    transition:.4s;
    text-align:center;
    overflow:hidden;
    position:relative;
}

.cert-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,#00bfff,#00ffcc);
    transition:.5s;
}

.cert-card:hover::before{
    left:0;
}

.cert-card:hover{
    transform:translateY(-10px);
    border-color:var(--primary);
    box-shadow:0 25px 60px rgba(0,191,255,.20);
}

.cert-card img{
    width:95px;
    height:95px;
    object-fit:contain;
    margin:0 auto 20px;
}

.cert-card h3{
    margin-bottom:12px;
    font-size:22px;
}

.cert-card p{
    color:var(--gray);
    margin-bottom:10px;
}

.cert-card .cert-number{
    display:inline-block;
    margin-top:12px;
    padding:8px 15px;
    background:#18293d;
    border-radius:30px;
    font-size:14px;
    color:#fff;
}

.cert-card .verify-btn{
    display:inline-block;
    margin-top:20px;
    padding:12px 25px;
    border-radius:30px;
    background:var(--primary);
    color:#fff;
    transition:.35s;
}

.cert-card .verify-btn:hover{
    background:#0089dd;
}

/*=============================
PROJECTS
=============================*/

.project-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:30px;
    margin-top:60px;
}

.project-card{
    background:var(--card);
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--border);
    transition:.4s;
}

.project-card:hover{
    transform:translateY(-10px);
    border-color:var(--primary);
}

.project-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.project-content{
    padding:30px;
}

.project-content h3{
    margin-bottom:15px;
}

.project-content p{
    color:var(--gray);
    margin-bottom:25px;
}

.project-content .btn{
    padding:12px 24px;
}

/*=============================
AWARDS
=============================*/

.awards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:30px;
    margin-top:60px;
}

.award-card{
    background:linear-gradient(135deg,#111f2f,#16293f);
    border-radius:20px;
    text-align:center;
    padding:40px;
    border:1px solid rgba(255,215,0,.25);
    transition:.4s;
}

.award-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 60px rgba(255,215,0,.20);
}

.award-card i{
    font-size:60px;
    color:gold;
    margin-bottom:20px;
}

.award-card h3{
    margin-bottom:15px;
}

.award-card p{
    color:var(--gray);
}

/*=============================
DOWNLOADS
=============================*/

.download-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
    margin-top:60px;
}

.download-card{
    background:var(--card);
    text-align:center;
    padding:35px;
    border-radius:20px;
    transition:.35s;
    border:1px solid var(--border);
}

.download-card:hover{
    transform:translateY(-10px);
    border-color:var(--primary);
}

.download-card i{
    font-size:55px;
    color:var(--primary);
    margin-bottom:20px;
}

/*=============================
CONTACT
=============================*/

.contact-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:30px;
    margin-top:60px;
}

.contact-card{
    background:var(--card);
    padding:35px;
    border-radius:20px;
    text-align:center;
    transition:.35s;
}

.contact-card:hover{
    transform:translateY(-10px);
    border-color:var(--primary);
}

.contact-card i{
    font-size:45px;
    color:var(--primary);
    margin-bottom:20px;
}

.contact-card h3{
    margin-bottom:15px;
}

.contact-card a{
    color:var(--gray);
}

.contact-card a:hover{
    color:#fff;
}

/*=============================
FOOTER
=============================*/

footer{
    background:#040a13;
    padding:50px 8%;
    text-align:center;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-logo{
    font-size:30px;
    font-weight:700;
}

.footer-logo span{
    color:var(--primary);
}

.footer-text{
    margin:20px auto;
    max-width:650px;
    color:var(--gray);
}

.social-icons{
    display:flex;
    justify-content:center;
    gap:20px;
    margin:30px 0;
}

.social-icons a{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#16293f;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:.35s;
}

.social-icons a:hover{
    background:var(--primary);
    transform:translateY(-6px);
}

.social-icons i{
    font-size:20px;
    color:#fff;
}

.copyright{
    margin-top:25px;
    color:#8ea2b8;
    font-size:14px;
}

/*=============================
ANIMATIONS
=============================*/

.fade-up{
    animation:fadeUp .8s ease;
}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(40px);
}

to{
opacity:1;
transform:translateY(0);
}

}

.zoom{
    animation:zoom .7s ease;
}

@keyframes zoom{

from{
opacity:0;
transform:scale(.9);
}

to{
opacity:1;
transform:scale(1);
}

}