/* =========================
   GOOGLE FONT
========================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Poppins:wght@300;400;500;600&display=swap');

/* =========================
RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:'Poppins',sans-serif;

    background:#ffffff;

}

/* =========================
NAVBAR
========================= */

header {
    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
    background:#fff;
    box-shadow:0 2px 15px rgba(0,0,0,.05);
}

.navbar{

    width:100%;

    max-width:1320px;

    margin:auto;

    padding:24px 55px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.nav-links a{

    font-size:18px;

    font-weight:600;

    color:#222;

    transition:.3s;
    
    font-size:18px;

    font-weight:600;
}

.nav-links{

    display:flex;

    gap:48px;

}

/* =========================
GENERAL LAYOUT
========================= */

html{
    scroll-behavior:smooth;
}

.container{

    max-width:1200px;

    margin:auto;

    padding:0 20px;

}

section{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:90px;

}
.logo{

    font-family: 'Playfair Display', serif;
    
    font-size:24px;

    font-weight:700;

    letter-spacing:1px;

    text-transform: uppercase;

    color: #111;

    font-style:italic;

}

.nav-menu{

    display:flex;

    align-items: center;

    list-style:none;

    gap: 35px;

}

.nav-menu a{

    text-decoration:none;

    color: #222;

    font-size: 16px;

    font-weight:600;

    position:relative;

    transition: color 0.3s ease;

}

.nav-menu a:hover{

    color:#2b93c5;

}

.nav-menu a::after{

    content:"";

    position:absolute;

    width:0;

    height:2px;

    left:0;

    bottom:-6px;

    background:#69B7F5;

    transition:.3s;

}

.nav-menu a:hover::after{

    width:100%;

}

/*================ SECTION HEADING ================*/

.section-subtitle{
    text-align:center;
    color:#6FA3FF;
    font-size:14px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.section-title{
    text-align:center;
    font-size:58px;
    font-weight:700;
    color:#14213D;
    margin-bottom:18px;
}


/* =====================================
   HERO
===================================== */

.hero{

    position:relative;

    min-height:92vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding-top:100px;

    background:#fff;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../assets/images/building.png");

    background-position:center;

    background-size:cover;

    opacity:.18;

    z-index:0;

}

.hero-grid{

    width:100%;

    display:grid;

    grid-template-columns:55% 45%;

    align-items:center;

    gap:40px;

    position:relative;

    z-index:2;

}


.hero-left{

    max-width:620px;

}

.hero-right{

    display:flex;

    justify-content:flex-end;

    align-items:flex-end;

}

.hero-right img{

    width:500px;

    max-width:100%;

    display:block;

    filter:drop-shadow(0 25px 40px rgba(0,0,0,.15));

}


.portfolio-label{
    font-size:15px;
    letter-spacing:2px;
    font-style:italic;
    margin-bottom:20px;}

    .hero h1{
    font-family:'Playfair Display', serif;
    font-size:76px;
    font-weight:700;
    line-height:1.05;
    margin-bottom:25px;
    margin: 18px 0;;
    color:#111;
}


.hero h1 span{
    color:#69B7F5;
}

.hero-description{
    width:520px;
    max-width:500%;
    color:#555;
    font-size:18px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height:1.8;
    margin-bottom:40px;
    max-width: 460px;
}

.reach-text{
    color:#69B7F5;
    font-weight:600;
    margin-bottom:20px;
}



.social-button{
    display:flex;
    flex-direction: row;
    align-items: center;
    flex-wrap:nowrap;
    gap:15px;
    width: max-content;
    margin-top: 25px;
}

.social-button a{

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    min-width: 130px;

    padding:12px 24px;

    background:#fff;

    border:2px solid #dcdcdc;

    border-radius:12px;

    cursor:pointer;

    font-size:15px;

    font-weight:500;

    color:#222;
    text-decoration:none;

    transition:.35s;

}

.social-button a:hover{

    background:#5fabe9;

    color:white;

    border-color:#69B7F5;

    transform:translateY(-5px);

    box-shadow:0 15px 30px rgba(105,183,245,.25);

}

.hero-right img{

    width:430px;

    filter:drop-shadow(0 20px 35px rgba(0,0,0,.18));

    animation:float 4s ease-in-out infinite;

    transition:.4s;
}

    .social-button a:hover .fa-envelope { color: #2b93c5; }
    .social-button a:hover .fa-linkedin-in { color: #0077b5; }
    .social-button a:hover .fa-instagram { color: #e1306c; }
    .social-button a:hover .fa-whatsapp { color: #1bf069; }

.hero-right img:hover{

    transform:scale(1.03);

}

@keyframes float{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0px);

    }

}
    
.hero{

    position:relative;

    margin-bottom:0;

    padding-bottom:0;

}


.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("../assets/images/building.png");

    background-size:cover;

    background-position:center;

    opacity: 0.10;

    z-index:0;

}

.hero{

    padding-top:120px;

}

.about{

    padding-top:140px;

    padding-bottom:120px;

    background:white;

    position:relative;

    z-index:5;

}

/*====================================
ABOUT
====================================*/


.about{

    padding:120px 8%;

    background:#F8FBFF;

}

.about-wrapper{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:90px;

}

.about-image{

    position:relative;

    width:430px;

    height:650px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.bg-arch{

    position:absolute;

    bottom:0;

    width:280px;

    height:620px;

    background:linear-gradient(
        180deg,
        #EAF4FF,
        #D8EAFF
    );

    border-radius:180px 180px 0 0;

    z-index:1;

}

.about-image img{

    position:relative;

    width:410px;

    z-index:5;

    filter:
        saturate(90%)
        brightness(103%)
        contrast(96%)
        drop-shadow(0 20px 35px rgba(0,0,0,.15));

    transition: .5s ease;

    margin-top: 50px;

}

.about-image:hover img{

    transform: translateY(-8px);

    filter:
        saturate(100%)
        brightness(105%)
        contrast(100%)
        drop-shadow(0 30px 45px rgba(0,0,0,.18));

}

.about-image::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:radial-gradient(
        rgba(125,181,255,.22),
        transparent 70%
    );

    top:70px;

    left:55px;

    filter:blur(25px);

    z-index:0;

}

/* Membuat Efek Bayangan Oval di Lantai Tepat di Bawah Kaki */
.about-image::after {
    content: "";
    position: absolute;
    bottom: -30px;          /* Jarak bayangan dari bawah box */
    left: 50%;
    transform: translateX(-50%);
    width: 300px;         /* Lebar ke samping bayangan oval */
    height: 20px;         /* Ketebalan bayangan oval */
    background: rgba(0, 0, 0, 0.30); /* Warna bayangan hitam transparan */
    border-radius: 70%;   /* Membuat bentuknya menjadi oval sempurna */
    filter: blur(10px);   /* Memberikan efek pudar lembut di pinggirannya */
    z-index: 4;           /* Di bawah foto (z-index: 5) tapi di depan background */
    pointer-events: none;
}

.bg-arch{

    position:absolute;

    bottom:0;

    width:300px;

    height:680px;

    border-radius:180px 180px 0 0;

    background:rgba(220,236,255,.72);

    backdrop-filter:blur(8px);

    border:1px solid rgba(255,255,255,.45);

    z-index:1;

}

.circle-fill{

    position:absolute;

    width:190px;

    height:190px;

    background:#C9DFFF;

    opacity:.45;

    border-radius:50%;

    left:-25px;

    bottom:60px;

}

.circle-outline{

    position:absolute;

    width:360px;

    height:360px;

    border:2px solid #8AB8FF;

    border-radius:50%;

    right:-45px;

    top:170px;

    opacity:.8;

}

.dot-pattern{

    position:absolute;

    left:-40px;

    top:230px;

    width:80px;

    height:80px;

    background-image:radial-gradient(#74AFFF 1.8px, transparent 1.8px);

    background-size:14px 14px;

    opacity:.55;

}

/* 2. Menggeser Daun ke Belakang Kiri Atas Arch */
.leaf-shape {
    position: absolute;
    top: 60px;          /* Dinaikkan sedikit agar pas di belakang pundak/kepala kiri */
    left: -20px;        /* Digeser lebih keluar ke kiri arch */
    font-size: 110px;
    color: #BFD8F8;
    opacity: .30;       /* Sedikit dinaikkan biar lebih kelihatan bentuk daunnya */
    transform: rotate(-25deg);
    z-index: 0;         /* Di belakang arch biar tidak menutupi warna biru */
}

/* 3. Menambahkan Lingkaran Kecil Biru di Garis Kanan (BARU) */
.circle-small {
    position: absolute;
    width: 20px;        /* Ukuran lingkaran kecil */
    height: 20px;
    background: #74AFFF; /* Warna biru terang sesuai dots dan outline */
    border-radius: 60%;
    right: -15px;       /* Disesuaikan agar pas menempel di atas garis .circle-outline */
    top: 215px;         /* Mengunci posisi di area lekukan garis kanan */
    z-index: 3;
}

.star{

    position:absolute;

    top:20px;

    left:20px;

    color:#69B7F5;

    font-size:55px;

    z-index:3;

}

.about{

    padding:120px 8%;

    overflow:hidden;

    background:
    radial-gradient(circle at top left,#F4F9FF 0%,transparent 35%),
    radial-gradient(circle at bottom right,#EEF6FF 0%,transparent 40%),
    #FAFCFF;

}

.about-content{

    flex:1;

}


.about-content h2 span{

    color:#69B7F5;

}

.title-line{

    width:80px;

    height:4px;

    background:#6EA8FE;

    border-radius:10px;

    margin:20px 0 35px;

}

.about-content p{

    font-size:17px;

    line-height:1.9;

    color:#555;

    margin-bottom:20px;

}

.about-content h3{

    margin-top:35px;

    margin-bottom:20px;

    color:#1F2937;

}

.title-line{

    width:80px;

    height:4px;

    background:#6EA8FE;

    border-radius:10px;

    margin:20px 0 35px;

}

.competency-list{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

}

.competency-list span{

    background:white;

    border:1px solid #D9E7F4;

    padding:12px 22px;

    border-radius:50px;

    transition:.3s;

    font-size:15px;

}

.competency-list span:hover{

    background:#69B7F5;

    color:white;

    transform:translateY(-3px);

}

/*==============================
EDUCATION
==============================*/

.education{

    padding:120px 8%;

    background:white;

}

.education-heading{

    text-align:center;

    margin-bottom:70px;

}

.education-heading p{

    color:#6EA8FE;

    font-weight:600;

    letter-spacing:2px;

    margin-bottom:10px;

}

.education-heading h2{

    font-size:52px;

    color:#1D2B53;

}

.education-wrapper{
    max-width:800px;
    margin:auto;

}

.edu-item{

    display:flex;

    gap:20px;

    margin-bottom:40px;

}

.edu-icon{

    width:65px;

    height:65px;

    background:#EAF4FF;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:#6EA8FE;

    font-size:24px;

}

.edu-item h3{

    font-size:28px;

    color:#1D2B53;

}

.edu-item h4{

    color:#6EA8FE;

    margin-top:8px;

}

.edu-year{

    margin-top:12px;

    color:#666;

}

.edu-card{

    background:white;

    padding:25px;

    border-radius:20px;

    margin-bottom:25px;

    border:1px solid #E4EEF8;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.edu-card h5{

    color:#6EA8FE;

    margin-bottom:10px;

    font-size:18px;

}

.edu-card p{

    line-height:1.8;

    color:#555;

}

.education-image{

    text-align:center;

}

.education-image img{

    width:100%;

    border-radius:30px;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

    transition:.4s;

}

.education-image img:hover{

    transform:translateY(-8px);

}



/* ================= ORGANIZATION ================= */

.organization{
    padding:120px 8%;
    background:#fff;
}

.organization-heading{
    text-align:center;
    max-width:760px;
    margin:auto;
}

.organization-heading p:first-child{
    color:#6FA3FF;
    font-size:14px;
    font-weight:600;
    letter-spacing:3px;
}

.organization-heading h2{
    font-size:50px;
    color:#14213D;
    margin:12px 0 20px;
}

.organization-desc{
    color:#666;
    line-height:1.8;
    font-size:17px;
}

.organization-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin:70px 0;

}

.stat-card{

    background:white;

    padding:35px;

    border-radius:22px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-8px);

}

.stat-card h3{

    font-size:40px;

    color:#4A90E2;

}

.stat-card p{

    margin-top:10px;

    color:#666;

}

.organization-timeline{

    display:flex;

    flex-direction:column;

    gap:40px;

}

.organization-card{

    display:grid;

    grid-template-columns:120px 90px 1fr;

    gap:35px;

    background:white;

    padding:35px;

    border-radius:25px;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.35s;

}

/* ================= POSITION ================= */

.organization-type{

    color:#7b8aa5;

    margin-bottom:30px;

    font-size:15px;

}

.position-item{

    display:flex;

    gap:30px;

    padding:28px 0;

    border-top:1px solid #E8EEF7;

}

.position-item:first-of-type{

    border-top:none;

    padding-top:10px;

}

.position-year{

    min-width:100px;

    font-size:15px;

    font-weight:700;

    color:#4A90E2;

}

.position-content{

    flex:1;

}

.position-content h4{

    margin-bottom:12px;

}

.position-content p{

    margin-bottom:18px;

}

.organization-card:hover{

    transform:translateY(-8px);

}

.org-year{

    font-size:28px;

    font-weight:700;

    color:#4A90E2;

    display:flex;

    align-items:flex-start;

}

.org-logo{

    width:80px;

    height:80px;

    background:#EDF5FF;

    border-radius:20px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.org-logo img{

    width:80px;

    object-fit:contain;

}

.org-content h3{

    font-size:28px;

    color:#14213D;

    margin-bottom:10px;

}

.org-content h4{

    color:#4A90E2;

    margin-bottom:18px;

}

.org-content p{

    line-height:1.8;

    color:#555;

}

.org-skill{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin-top:22px;

}

.org-skill span{

    background:#EEF5FF;

    color:#4A90E2;

    padding:10px 18px;

    border-radius:50px;

    font-size:14px;

}

.highlight-box{

    background:#F7FAFF;

    border-left:5px solid #4A90E2;

    margin-top:25px;

    padding:22px;

    border-radius:15px;

}

.highlight-box h5{

    color:#4A90E2;

    margin-bottom:12px;

    font-size:18px;

}

.highlight-box ul{

    padding-left:18px;

}

.highlight-box li{

    margin-bottom:10px;

    line-height:1.8;

}

.org-content a{

    display:inline-block;

    margin-top:22px;

    text-decoration:none;

    color:#4A90E2;

    font-weight:600;

}

@media(max-width:900px){

.organization-card{

grid-template-columns:1fr;

text-align:center;

}

.org-logo{

margin:auto;

}

.organization-stats{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.organization-stats{

grid-template-columns:1fr;

}

}

.position-item{

    flex-direction:column;

    gap:12px;

}

.position-year{

    min-width:auto;

}

/* ================= EXPERIENCE ================= */

.experience{
    padding:120px 8%;
    background:#fff;
    position:relative;
    overflow:hidden;
}


.experience-desc{
    max-width:700px;
    margin:0 auto 80px;
    text-align:center;
    color:#666;
    line-height:1.8;
}

.experience-wrapper{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:70px;
    align-items:start;
}

.experience-photo{
    position:sticky;
    top:120px;
}

.experience-photo img{
    width:100%;
}

.experience-list{
    display:flex;
    flex-direction:column;
    gap:45px;
}

.experience-item{
    padding-left:30px;
    border-left:4px solid #6FA3FF;
}

.job-category{
    display:block;
    font-size:20px;
    color:#4A90E2;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:5px;
}


.job-date{
    display:block;
    font-size:18px;
    color:#666;
    margin-bottom:12px;
}

.experience-item h3{
    font-size:25px;
    color:#14213D;
    margin-bottom:10px;
    line-height:1.2;
}

.experience-item h4{
    font-size:22px;
    color:#555;
    font-weight:500;
}

/* EMOJI */

.emoji{
    position:absolute;
    font-size:55px;
    z-index:1;
}

.rock{
    top:180px;
    left:100px;
    position: absolute;
    font-size: 100px;
    z-index: 3;
    transform: rotate(-25deg);
}

.folder{
    top:280px;
    right:200px;
    font-size: 80px;
    transform:rotate(-15deg);
}

.megaphone{
    bottom:80px;
    right:100px;
    font-size: 100px;
    transform:rotate(-18deg);
}

.eye{
    top:110px;
    right:100px;
    font-size: 80px;
    transform:rotate(-18deg);
}

.kopral {
    top: 750px;
    right: 0px;
    font-size: 80px;
    transform: rotate(-15deg);
}

/* RESPONSIVE */

@media(max-width:1000px) {

.experience-wrapper{

grid-template-columns:1fr;

}

.experience-photo{

position:relative;
top:0;
text-align:center;

}

.experience-photo img{

width:320px;

}

.experience-item h3{

font-size:28px;

}

}

/* Membuat Garis Pembatas Biru di Samping Kiri Foto Experience */
.experience-photo img, .exp-img, [class*="experience"] img {
    /* Matikan border bawah yang tadi */
    border-bottom: none;
    border-radius: 0;
    
    /* NYALAKAN GARIS DI SEBELAH KIRI */
    border-left: 12px solid #74AFFF; /* Ketebalan 6px warna biru simpel */
    padding-left: 0px;             /* Memberi jarak manis antara garis dan fotomu */
    display: block;
}

/*================ EXPERIENCE DETAIL ================*/

.experience-detail{

    padding:90px 8%;

    background:#fff;

}

.experience-card{

    background:#fff;

    border-radius:28px;

    padding:55px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.experience-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:35px;

}

.experience-badge{

    background:#CFE7FF;

    color:#14213D;

    padding:12px 38px;

    border-radius:50px;

    font-size:17px;

    font-weight:600;

}

.experience-date{

    font-size:30px;

    font-weight:700;

    color:#14213D;

}

.experience-title h2{

    font-size:42px;

    color:#14213D;

    margin-bottom:8px;

}

.experience-title h4{

    color:#4A90E2;

    font-size:22px;

    margin-bottom:30px;

}

.experience-description{

    max-width:1000px;

}

.experience-description p{

    color:#555;

    line-height:1.9;

    font-size:17px;

    text-align:justify;

    margin-bottom:18px;

}

.experience-highlight{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin:35px 0;

}

.experience-highlight span{

    background:#EEF6FF;

    color:#4A90E2;

    padding:12px 20px;

    border-radius:50px;

    font-size:15px;

    font-weight:600;

}

.experience-gallery{

    margin-top:20px;

}

.experience-gallery img{

    width:100%;

    border-radius:22px;

    display:block;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.experience-gallery img:hover{

    transform:scale(1.02);

}

/* ================= PERTAMINA DETAIL ================= */

.experience-detail{

    padding:90px 8%;
    background:#fff;

}

.experience-header{

    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;

}

.experience-badge{

    background:#D9EEFF;
    color:#14213D;
    padding:12px 28px;
    border-radius:50px;
    font-weight:600;
    font-size:17px;

}

.experience-date{

    font-size:28px;
    font-weight:700;
    color:#14213D;

}

.experience-detail h2{

    font-size:44px;
    color:#14213D;
    margin-top:25px;

}

.experience-detail h3{

    color:#4A90E2;
    font-size:22px;
    margin-top:8px;
    margin-bottom:20px;

}

.experience-line{

    width:90px;
    height:4px;
    background:#4A90E2;
    border-radius:50px;
    margin-bottom:30px;

}

.experience-detail p{

    font-size:18px;
    line-height:1.9;
    color:#555;
    margin-bottom:18px;

}

.experience-skill{

    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin:40px 0;

}

.experience-skill span{

    padding:12px 22px;
    background:#EEF6FF;
    color:#4A90E2;
    border-radius:50px;
    font-weight:500;

}

.experience-gallery{

    margin-top:45px;

}

.experience-gallery img{

    width:100%;
    border-radius:25px;
    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

/* ================= SKATIFY ================= */

.experience-detail{

    padding:90px 8%;

}

.experience-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    padding:45px;

    overflow:hidden;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

/* Background */

.exp-bg-purple{

    position:absolute;

    width:320px;

    height:320px;

    background:#EED7FF;

    border-radius:50%;

    top:-150px;

    right:-90px;

    z-index:0;

}

/* Roller Skate */

.exp-skate{

    position:absolute;

    width:280px;

    top:-5px;

    right:25px;

    z-index:2;

    opacity:0.5;

}

/* Header */

.experience-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

    position:relative;

    z-index:3;

}

.experience-type{

    background:#BEE3FF;

    padding:12px 35px;

    border-radius:50px;

    font-weight:700;

    font-size:22px;

}

.experience-date{

    font-size:30px;

    font-weight:700;

}

/* Title */

.experience-card h2{

    font-size:44px;

    color:#111;

    margin-top:15px;

    position:relative;

    z-index:3;

}

.experience-card h4{

    color:#4A90E2;

    margin-bottom:35px;

    font-size:23px;

    position:relative;

    z-index:3;

}

/* Achievement */

.achievement-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;

    margin-bottom:35px;

}

.achievement-card{

    background:#E7C8FF;

    border-radius:30px;

    padding:28px;

    text-align:center;

}

.achievement-card h3{

    color:#3E2D91;

    font-size:46px;

    margin-bottom:10px;

}

.achievement-card p{

    color:#243B74;

    font-weight:600;

    line-height:1.6;

}

/* Description */

.experience-description{

    font-size:17px;

    line-height:2;

    color:#444;

    margin-bottom:40px;

}

/* Gallery */

.experience-gallery img{

    width:100%;

    border-radius:22px;

    display:block;

}

/* Responsive */

@media(max-width:900px){

.achievement-grid{

grid-template-columns:repeat(2,1fr);

}

.experience-header{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

.exp-skate{

display:none;

}

}

.exp-skate{
    border-left:none !important;
    border:none !important;
    padding-left:0 !important;
}

/* ================= SPPG ================= */

.exp-bg-gray{

    position:absolute;

    width:320px;
    height:320px;

    background:#ECECEC;

    border-radius:50%;

    top:-150px;
    right:-90px;

    z-index:0;

}

/* Achievement */

.achievement-grid-3{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

    width:100%;

    margin:40px 0;

}

.achievement-card{

    background:#E7C8FF;

    border-radius:28px;

    padding:35px 20px;

    text-align:center;

    transition:.3s;

}

.achievement-card:hover{

    transform:translateY(-6px);

}

.achievement-card h3{

    font-size:44px;

    color:#2F2D8A;

    margin-bottom:10px;

    font-weight:700;

}

.achievement-card p{

    font-size:18px;

    font-weight:600;

    line-height:1.5;

    color:#243B74;

}

/* Responsive */

@media(max-width:768px){

.achievement-grid-3{

    grid-template-columns:1fr;

}

}

/* ================= PROJECT ================= */


.projects{

    padding:120px 8%;

    background:#fff;

}

.projects-desc{

    max-width:720px;

    margin:0 auto 80px;

    text-align:center;

    color:#666;

    line-height:1.8;

}

.project-item{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

    margin-bottom:120px;

}

.project-number{

    display:inline-block;

    font-size:18px;

    font-weight:700;

    color:#69B7F5;

    margin-bottom:15px;

}

.project-info h3{

    font-size:42px;

    color:#14213D;

    margin-bottom:10px;

}

.project-role{

    color:#69B7F5;

    font-weight:600;

    margin-bottom:30px;

}

.project-info h4{

    margin-top:28px;

    margin-bottom:12px;

    color:#14213D;

}

.project-info p{

    color:#666;

    line-height:1.9;

}

.project-info ul{

    margin-left:20px;

    color:#555;

    line-height:2;

}

.project-tools{

    margin-top:30px;

}

.project-tools span{

    display:inline-block;

    padding:10px 18px;

    border-radius:50px;

    background:#EEF6FF;

    color:#4A90E2;

    font-size:14px;

    font-weight:600;

}

.project-gallery img{

    width:100%;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.gallery-small{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:15px;

    margin-top:18px;

}

.preview-image{

    cursor:pointer;

    transition:.3s;

}

.preview-image:hover{

    transform:scale(1.02);

}

.image-modal{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.85);

    justify-content:center;

    align-items:center;

    z-index:9999;

}

#modalImage{

    max-width:90%;

    max-height:90%;

}

.close-image{

    position:absolute;

    top:30px;

    right:40px;

    font-size:45px;

    color:white;

    cursor:pointer;

}

/*================ SKILLS ================*/

.skills{
    padding:120px 8%;
    background:#fff;
}


.skills-wrapper{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
    align-items:stretch;
}

/* Card */

.skills-card{
    background:#fff;
    border-radius:25px;
    padding:40px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s;
}

.skills-card:hover{
    transform:translateY(-8px);
}

.skills-card h3{
    font-size:30px;
    color:#14213D;
    margin-bottom:30px;
    padding-bottom:15px;
    border-bottom:2px solid #EEF6FF;
}

/*================ TOOLS ================*/

.tools-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.tool-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:15px 18px;
    border-radius:16px;
    background:#F8FBFF;
    transition:.3s;
}

.tool-item:hover{
    background:#EEF6FF;
    transform:translateX(6px);
}

.tool-item img{
    width:42px;
    height:42px;
    object-fit:contain;
    flex-shrink:0;
}

.tool-item span{
    font-size:18px;
    font-weight:600;
    color:#14213D;
}

/*================ PROFESSIONAL SKILLS ================*/

.professional-list{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.professional-list li{
    position:relative;
    padding-left:26px;
    font-size:18px;
    color:#444;
    line-height:1.7;
}

.professional-list li::before{
    content:"●";
    position:absolute;
    left:0;
    top:1px;
    color:#4A90E2;
    font-size:14px;
}

/*================ RESPONSIVE ================*/

@media(max-width:900px){

    .skills{
        padding:90px 7%;
    }

    .skills-wrapper{
        grid-template-columns:1fr;
    }

    .skills-card{
        padding:30px;
    }

    .skills-card h3{
        font-size:26px;
    }

    .tool-item span,
    .professional-list li{
        font-size:16px;
    }

}

/*================ FOOTER ================*/

.footer{

    padding:35px 20px;

    background:#fff;

    border-top:1px solid #EAEAEA;

}

.footer .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

}

.footer p{

    color:#666;

    font-size:15px;

}

.footer strong{

    color:#14213D;

}