/* =========================
   GOOGLE FONT
========================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* =========================
   RESET
========================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* =========================
   GLOBAL
========================= */
html, body {
    height: 100%;
    font-family: 'Poppins', sans-serif;
}

/* =========================
   BACKGROUND SPLIT
========================= */
body {
    background: linear-gradient(
        to right,
        #0a2540 0%,
        #0a2540 50%,
        #b7e600 50%,
        #b7e600 100%
    );
}

/* =========================
   TITLE
========================= */
.site-title {
    text-align: center;
    padding: 30px 0;
}

.site-title h1 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #fff;
}

/* =========================
   MAIN CONTAINER
========================= */
.container {
    display: flex;
    min-height: calc(100vh - 140px);
    padding: 40px 80px;
}

/* =========================
   LEFT SIDE
========================= */
.left {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.box {
    background: #fff;
    border: 2px solid #000;
    padding: 25px;
    text-align: center;
}

.box h3 {
    margin-bottom: 20px;
    font-weight: 600;
    letter-spacing: 1px;
}

.icons {
    display: flex;
    justify-content: center;
    gap: 25px;
}

.icons a {
    font-size: 28px;
    color: #000;
    transition: transform 0.3s ease, color 0.3s ease;
}

.icons a:hover {
    transform: scale(1.2);
    color: #0a2540;
}

/* =========================
   RIGHT SIDE
========================= */
.right {
    width: 60%;
    display: flex;
    flex-direction: column;   
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-left: 60px;
}

/* PHOTO */
.photo img {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #000;
}

/* TEXT UNDER PHOTO */
.intro-text {
    text-align: center;
}

.intro-text h1 {
    font-size: 32px;
    font-weight: 700;
    color: #fff; /* ⬅ putih */
}

.intro-text p {
    margin-top: 16px;
    font-size: 30px;
    color: #fff; /* ⬅ putih */
    max-width: 300px;
}


/* =========================
   FOOTER
========================= */
.footer {
    width: 100%;
    text-align: center;
    padding: 15px 0;
    font-size: 14px;
    background: transparent;
}

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* TITLE */
.site-title {
    animation: fadeDown 1s ease forwards;
}

/* LEFT BOX */
.box {
    animation: slideLeft 1s ease forwards;
}

.box:nth-child(2) {
    animation-delay: 0.2s;
}

/* PHOTO */
.photo img {
    animation: zoomIn 1s ease forwards;
}

/* TEXT */
.intro-text {
    animation: fadeDown 1.2s ease forwards;
}

.icons a {
    font-size: 28px;
    color: #000;
    transition: all 0.3s ease;
}

.icons a:hover {
    transform: translateY(-5px) scale(1.1);
    color: #0d6efd;
}
@media (max-width: 768px) {

    .container {
        flex-direction: column;
        height: auto;
    }

    .left,
    .right {
        width: 100%;
        padding: 40px 20px;
    }

    .right {
        padding-left: 0;
    }

    .photo img {
        width: 150px;
        height: 150px;
    }

    .intro-text h1 {
        font-size: 26px;
    }

    .intro-text p {
        font-size: 14px;
    }

    .box {
        width: 100%;
    }

    .footer {
        font-size: 13px;
        padding-bottom: 20px;
    }
}

.cv-box {
    margin-top: 20px;
    text-align: center;
}

.cv-box a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 14px 28px;
    background-color: #ffffff;
    color: #000;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;

    transition: all 0.3s ease;
}

.cv-box a:hover {
    background-color: #0d6efd;
    color: #ffffff;
    transform: translateY(-3px);
}
