/* ==== PALET WARNA DARI POSTER SPMB ==== */
:root {
    --blue-dark: #1B1E4B;   /* biru gelap */
    --blue-main: #4A94DD;   /* biru poster */
    --blue-light: #A6D2FF;  /* biru muda */
    --white-soft: #F2F3F2;  /* putih kebiruan */
    --yellow: #F4D400;      /* warna highlight opsional */
}

/* ==== RESET ==== */
body {
    margin: 0;
    font-family: "Poppins", sans-serif;
    background: var(--blue-dark);
    overflow-x: hidden;
}

/* ==== HERO SECTION ==== */
.hero {
    height: 100vh;
    padding: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    position: relative;

    background: linear-gradient(
        to bottom,
        var(--blue-dark) 0%,
        var(--blue-main) 60%,
        var(--white-soft) 100%
    );
}

/* ==== TEXT BAGIAN KIRI ==== */


/* ==== CTA BUTTON ==== */
.cta {
    padding: 15px 30px;
    background: var(--blue-dark);
    color: white;
    font-size: 18px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: 0.3s ease;
}

.cta:hover {
    background: var(--yellow);
    color: black;
}

/* ==== GAMBAR ROKET / FOTO ==== */
.hero-img img {
    width: 380px;
    position: relative;
    z-index: 3;
    animation: floating 4s ease-in-out infinite;
}

/* Efek melayang */
@keyframes floating {
    0% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
    100% { transform: translateY(0); }
}

/* ==== ORNAMEN LINGKARAN ==== */
.circle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.25;
    background: var(--blue-light);
}
/* ==== ORNAMEN LINGKARAN VARIASI PROFESIONAL ==== */
/* Struktur Layer */
.circle-xl { z-index: -1; }   /* besar, paling belakang */
.circle-lg { z-index: -1; }    /* medium, tengah */
.circle-sm { z-index: -1; }    /* kecil, boleh di depan sedikit */

/* ==== LINGKARAN ATAS ==== */
.circle.top-xl {
    width: 520px;
    height: 520px;
    background: var(--blue-dark);
    opacity: 0.18;
    top: -120px;
    left: -140px;
    z-index: -1; /* XL */
}

.circle.top-lg {
    width: 380px;
    height: 380px;
    background: var(--blue-main);
    opacity: 0.18;
    top: 10%;
    left: 20%;
    z-index: 0; /* LG */
}

.circle.top-sm {
    width: 120px;
    height: 120px;
    background: var(--blue-main);
    opacity: 0.25;
    top: 8%;
    right: 28%;
    z-index: 1; /* SM */
}

/* ==== LINGKARAN TENGAH ==== */
.circle.mid-lg {
    width: 420px;
    height: 420px;
    background: var(--blue-light);
    opacity: 0.15;
    top: 40%;
    left: -100px;
    z-index: 0;
}

.circle.mid-md {
    width: 260px;
    height: 260px;
    background: var(--blue-main);
    opacity: 0.12;
    top: 45%;
    right: 15%;
    z-index: 0;
}

.circle.mid-sm {
    width: 150px;
    height: 150px;
    background: var(--blue-light);
    opacity: 0.20;
    top: 55%;
    right: 35%;
    z-index: 1;
}

/* ==== LINGKARAN BAWAH ==== */
.circle.bottom-xl {
    width: 540px;
    height: 540px;
    background: var(--white-soft);
    opacity: 0.12;
    bottom: -140px;
    right: -160px;
    z-index: -1;
}

.circle.bottom-md {
    width: 230px;
    height: 230px;
    background: var(--white-soft);
    opacity: 0.22;
    bottom: 10%;
    left: 18%;
    z-index: 0;
}

.circle.bottom-sm {
    width: 90px;
    height: 90px;
    background: var(--white-soft);
    opacity: 0.25;
    bottom: 22%;
    right: 28%;
    z-index: 1;
}
#hasil{
    font-size: 85px;
}
.content{
    z-index: 0;
}
/* ==== RESPONSIVE (MOBILE) ==== */
@media(max-width: 768px) {

    .hero {
        padding: 30px;
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }

    .content{
        margin-top: 80px;
        color: #25376a;
        /* font-size: 20%; */
    }
    .font-hp{
        font-size: 90%;
    }
    #hasil{
        font-size: 200%;
    }


    .hero-img img {
        width: 260px;
        margin-top: 20px;
    }

    /* ==== Penyesuaian posisi lingkaran ==== */
    .circle.top-xl {
        width: 380px;
        height: 380px;
        top: -160px;
        left: -180px;
    }

    .circle.top-lg {
        width: 260px;
        height: 260px;
        top: 5%;
        left: 10%;
    }

    .circle.top-sm {
        width: 80px;
        height: 80px;
        top: 12%;
        right: 10%;
    }

    .circle.mid-lg {
        width: 300px;
        height: 300px;
        top: 45%;
        left: -120px;
    }

    .circle.mid-md {
        width: 180px;
        height: 180px;
        top: 55%;
        right: 5%;
    }

    .circle.mid-sm {
        display: none; /* opsional: bisa dihilangkan agar tidak ramai */
    }

    .circle.bottom-xl {
        width: 380px;
        height: 380px;
        bottom: -180px;
        right: -180px;
    }

    .circle.bottom-md {
        width: 160px;
        height: 160px;
        bottom: 12%;
        left: 10%;
    }

    .circle.bottom-sm {
        width: 60px;
        height: 60px;
        bottom: 28%;
        right: 14%;
    }
}

/* ============================================================
   ==== HEADER ARTIKEL (MATCH TONE HERO) ====
   ============================================================ */
.article-header {
    width: 100%;
    padding: 80px 20px;
    position: relative;
    overflow: hidden;
    color: white;

    background: linear-gradient(
        to bottom,
        var(--blue-dark) 0%,
        var(--blue-main) 60%,
        var(--white-soft) 100%
    );
}

/* Container */
.article-container {
    max-width: 900px;
    margin: auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.article-title {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--yellow);
    text-shadow: 2px 2px 0px rgba(0,0,0,0.2);
}

.article-subtitle {
    font-size: 18px;
    color: var(--white-soft);
}

/* Ornamen Lingkaran */
.circle.ah-lg {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: var(--blue-main);
    opacity: 0.14;
    position: absolute;
    top: -60px;
    left: -80px;
    z-index: 1;
}

.circle.ah-sm {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: var(--blue-light);
    opacity: 0.18;
    position: absolute;
    bottom: 20px;
    right: 60px;
    z-index: 1;
}

/* RESPONSIVE */
@media (max-width: 768px) {

    .article-header {
        padding: 60px 20px;
    }

    .article-title {
        font-size: 32px;
    }

    .article-subtitle {
        font-size: 16px;
    }

    .circle.ah-lg {
        width: 200px;
        height: 200px;
        top: -40px;
        left: -50px;
    }

    .circle.ah-sm {
        width: 90px;
        height: 90px;
        bottom: 15px;
        right: 30px;
    }
}


