/* =====================================================
   GOOGLE FONT
===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

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

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

html{
    scroll-padding-top:90px;
}

body{
    font-family:'Poppins',sans-serif;
    background:#0F172A;
    color:#F8FAFC;
    line-height:1.7;
    overflow-x:hidden;
}

/* =====================================================
   SCROLLBAR
===================================================== */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#111827;
}

::-webkit-scrollbar-thumb{
    background:#7C3AED;
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:#3B82F6;
}

/* =====================================================
   GLOBAL
===================================================== */

section{
    padding:100px 20px;
}

.container{
    width:100%;
    max-width:1200px;
    margin:auto;
}

h1{
    font-size:58px;
    font-weight:700;
    line-height:1.2;
}

h2{
    font-size:40px;
    font-weight:700;
    text-align:center;
    margin-bottom:15px;
}

h3{
    font-weight:600;
}

p{
    color:#CBD5E1;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.section-title{
    margin-bottom:60px;
}

.section-title h2{
    margin-bottom:15px;
}

.section-title p{
    max-width:700px;
    margin:auto;
    text-align:center;
    color:#94A3B8;
}

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

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;
    background:rgba(15,23,42,.88);
    backdrop-filter:blur(15px);
    transition:.35s;
}

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

.navbar{
    max-width:1200px;
    margin:auto;
    padding:18px 20px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo a{
    color:#FFFFFF;
    font-size:28px;
    font-weight:700;
    letter-spacing:.5px;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:30px;
}

.nav-menu li{
    position:relative;
}

.nav-menu a{
    color:#F8FAFC;
    font-weight:500;
    transition:.3s;
}

.nav-menu a:hover{
    color:#7C3AED;
}

.nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;

    width:0;
    height:2px;

    background:#7C3AED;
    transition:.3s;
}

.nav-menu a:hover::after{
    width:100%;
}

/* =====================================================
   MENU TOGGLE
===================================================== */

.menu-toggle{
    display:none;
    font-size:28px;
    color:#FFFFFF;
    cursor:pointer;
    transition:.3s;
}

.menu-toggle:hover{
    color:#7C3AED;
}

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

#hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:140px 20px 100px;
}

.hero-content{
    width:100%;
    max-width:1200px;

    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:70px;
    align-items:center;
}

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

.hero-text{
    animation:fadeUp .8s ease;
}

.status{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:10px 18px;

    background:rgba(34,197,94,.15);
    border:1px solid #22C55E;

    color:#22C55E;

    border-radius:30px;

    font-size:14px;
    font-weight:600;

    margin-bottom:25px;
}

.hero-text h3{
    color:#3B82F6;
    font-size:22px;
    margin-bottom:12px;
}

.hero-text h1{
    font-size:58px;
    font-weight:700;
    line-height:1.2;
    margin-bottom:15px;
}

.hero-text h2{
    text-align:left;

    font-size:28px;
    font-weight:500;

    color:#CBD5E1;

    margin-bottom:25px;
}

.hero-text p{
    max-width:650px;

    color:#94A3B8;

    margin-bottom:35px;

    text-align:justify;
}

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

.hero-button{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:15px 28px;

    border-radius:12px;

    font-weight:600;

    transition:.35s;
}

.btn-primary{

    background:#7C3AED;
    color:#FFFFFF;

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 15px 35px rgba(124,58,237,.35);

}

.btn-secondary{

    border:2px solid #7C3AED;

    color:#FFFFFF;

}

.btn-secondary:hover{

    background:#7C3AED;

    transform:translateY(-5px);

}

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

.hero-image{

    display:flex;
    justify-content:center;
    align-items:center;

    animation:fadeUp 1s ease;
}

.hero-image img{

    width:340px;
    max-width:100%;

    border-radius:24px;

    border:3px solid rgba(124,58,237,.4);

    background:#1E293B;

    padding:10px;

    box-shadow:
    0 15px 40px rgba(0,0,0,.35),
    0 0 40px rgba(124,58,237,.18);

    transition:.4s;
}

.hero-image img:hover{

    transform:translateY(-8px) scale(1.02);

    box-shadow:
    0 25px 55px rgba(0,0,0,.4),
    0 0 50px rgba(124,58,237,.35);

}

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

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

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

#about{
    max-width:1200px;
    margin:auto;
}

.about-content{
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
}

.about-text{
    background:rgba(30,41,59,.75);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(15px);

    padding:35px;

    border-radius:20px;

    transition:.35s;
}

.about-text:hover{
    border-color:#7C3AED;
    box-shadow:0 15px 40px rgba(124,58,237,.18);
}

.about-text p{
    color:#CBD5E1;
    text-align:justify;
    margin-bottom:18px;
}

.about-text p:last-child{
    margin-bottom:0;
}

.about-goal{

    margin-top:25px;

    padding:20px;

    border-left:4px solid #7C3AED;

    background:rgba(124,58,237,.08);

    border-radius:12px;
}

.about-goal h3{

    color:#FFFFFF;

    margin-bottom:10px;

}

.about-goal p{

    color:#CBD5E1;

}

/* =====================================================
   SKILL
===================================================== */

#skills{
    max-width:1200px;
    margin:auto;
}

.skill-container{

    display:grid;

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

    gap:25px;

    margin-top:50px;

}

.skill-card{

    background:rgba(30,41,59,.75);

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

    backdrop-filter:blur(15px);

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    transition:.35s;
}

.skill-card:hover{

    transform:translateY(-10px);

    border-color:#7C3AED;

    box-shadow:0 20px 45px rgba(124,58,237,.25);

}

.skill-card i{

    font-size:48px;

    color:#7C3AED;

    margin-bottom:20px;

}

.skill-card h3{

    font-size:22px;

    color:#FFFFFF;

    margin-bottom:12px;

}

.skill-card p{

    font-size:15px;

    color:#94A3B8;

    line-height:1.8;

}

/* =====================================================
   SKILL ICON COLOR
===================================================== */

.skill-card:nth-child(1) i{color:#3B82F6;}
.skill-card:nth-child(2) i{color:#06B6D4;}
.skill-card:nth-child(3) i{color:#F97316;}
.skill-card:nth-child(4) i{color:#3B82F6;}
.skill-card:nth-child(5) i{color:#FACC15;}
.skill-card:nth-child(6) i{color:#EC4899;}
.skill-card:nth-child(7) i{color:#EF4444;}
.skill-card:nth-child(8) i{color:#22C55E;}

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

#experience{
    max-width:1200px;
    margin:auto;
}

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

.experience-card{
    position:relative;

    background:rgba(30,41,59,.75);
    backdrop-filter:blur(15px);

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

    padding:35px 30px;

    overflow:hidden;

    transition:.35s ease;
}

.experience-card::before{
    content:"";

    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        #7C3AED,
        #3B82F6
    );
}

.experience-card:hover{

    transform:translateY(-10px);

    border-color:#7C3AED;

    box-shadow:0 20px 45px rgba(124,58,237,.25);

}

.experience-icon{

    width:80px;
    height:80px;

    margin:0 auto 25px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:rgba(124,58,237,.12);

    color:#7C3AED;

    font-size:34px;

}

.experience-card h3{

    text-align:center;

    font-size:26px;

    margin-bottom:25px;

}

.experience-info{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:30px;

}

.info-item{

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

    border-radius:15px;

    padding:18px;

    text-align:center;

    transition:.3s;

}

.info-item:hover{

    background:rgba(124,58,237,.12);

}

.info-item .number{

    display:block;

    font-size:30px;

    font-weight:700;

    color:#7C3AED;

    margin-bottom:5px;

}

.info-item p{

    color:#CBD5E1;

    font-size:14px;

}

.detail-btn{

    display:flex;

    justify-content:center;
    align-items:center;
    gap:10px;

    width:100%;

    padding:15px;

    background:#7C3AED;

    color:#FFFFFF;

    border-radius:12px;

    font-weight:600;

    transition:.35s;

}

.detail-btn:hover{

    background:#3B82F6;

    transform:translateY(-3px);

}

.detail-btn i{

    transition:.3s;

}

.detail-btn:hover i{

    transform:translateX(6px);

}

/* =====================================================
   CERTIFICATE
===================================================== */

#certificate{
    max-width:1200px;
    margin:auto;
}

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

.certificate-card{

    position:relative;

    background:rgba(30,41,59,.75);

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

    backdrop-filter:blur(15px);

    border-radius:20px;

    padding:30px;

    overflow:hidden;

    transition:.35s;

}

.certificate-card::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:5px;

    background:linear-gradient(
        90deg,
        #7C3AED,
        #3B82F6
    );

}

.certificate-card:hover{

    transform:translateY(-10px);

    border-color:#7C3AED;

    box-shadow:0 20px 45px rgba(124,58,237,.25);

}

.certificate-icon{

    width:80px;
    height:80px;

    margin:0 auto 25px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:rgba(124,58,237,.12);

    color:#7C3AED;

    font-size:36px;

}

.certificate-card h3{

    text-align:center;

    font-size:22px;

    margin-bottom:25px;

    color:#FFFFFF;

    line-height:1.5;

}

.certificate-info{

    display:flex;

    flex-direction:column;

    gap:15px;

    margin-bottom:30px;

}

.certificate-item{

    display:flex;

    align-items:flex-start;

    gap:15px;

    padding:15px;

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

    border-radius:12px;

    transition:.3s;

}

.certificate-item:hover{

    background:rgba(124,58,237,.10);

}

.certificate-item i{

    width:24px;

    font-size:20px;

    color:#7C3AED;

    margin-top:3px;

}

.certificate-item span{

    display:block;

    color:#94A3B8;

    font-size:13px;

    margin-bottom:4px;

}

.certificate-item p{

    color:#F8FAFC;

    font-size:15px;

    font-weight:500;

    line-height:1.5;

}

.certificate-btn{

    display:flex;

    justify-content:center;
    align-items:center;
    gap:10px;

    width:100%;

    padding:15px;

    background:#7C3AED;

    color:#FFFFFF;

    border-radius:12px;

    font-weight:600;

    transition:.35s;

}

.certificate-btn:hover{

    background:#3B82F6;

    transform:translateY(-3px);

}

.certificate-btn i{

    transition:.3s;

}

.certificate-btn:hover i{

    transform:translateX(6px);

}

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

#contact{
    max-width:1200px;
    margin:auto;
}

.contact-container{

    display:grid;

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

    gap:25px;

    margin-top:50px;

}

.contact-card{

    background:rgba(30,41,59,.75);

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

    backdrop-filter:blur(15px);

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    transition:.35s;

}

.contact-card:hover{

    transform:translateY(-10px);

    border-color:#7C3AED;

    box-shadow:0 20px 45px rgba(124,58,237,.25);

}

.contact-icon{

    width:80px;

    height:80px;

    margin:0 auto 20px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(124,58,237,.12);

}

.contact-icon i{

    font-size:34px;

    color:#7C3AED;

}

.contact-card h3{

    font-size:22px;

    margin-bottom:10px;

}

.contact-card p{

    color:#CBD5E1;

    margin-bottom:20px;

    word-break:break-word;

}

.contact-btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    padding:14px;

    background:#7C3AED;

    color:#FFFFFF;

    border-radius:12px;

    font-weight:600;

    transition:.35s;

}

.contact-btn:hover{

    background:#3B82F6;

    transform:translateY(-3px);

}

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

footer{

    margin-top:100px;

    padding:35px 20px;

    text-align:center;

    background:#111827;

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

}

footer p{

    color:#94A3B8;

    font-size:15px;

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:992px){

    .hero-content{

        grid-template-columns:1fr;

        text-align:center;

    }

    .hero-text h2{

        text-align:center;

    }

    .hero-text p{

        margin:auto auto 35px;

    }

    .hero-button{

        justify-content:center;

    }

    .hero-image{

        order:-1;

        margin-bottom:30px;

    }

}

@media(max-width:768px){

    .menu-toggle{

        display:block;

    }

    .nav-menu{

        display:none;

        position:absolute;

        top:80px;

        left:0;

        width:100%;

        background:#111827;

        flex-direction:column;

        padding:25px;

        gap:20px;

        text-align:center;

    }

    .nav-menu.active{

        display:flex;

    }

    h1{

        font-size:40px;

    }

    h2{

        font-size:32px;

    }

    .hero-text h2{

        font-size:22px;

    }

    .hero-image img{

        width:260px;

    }

    section{

        padding:80px 20px;

    }

}

@media(max-width:480px){

    h1{

        font-size:32px;

    }

    h2{

        font-size:28px;

    }

    .hero-button{

        flex-direction:column;

    }

    .btn-primary,
    .btn-secondary{

        width:100%;

    }

    .experience-info{

        grid-template-columns:1fr;

    }

}