@font-face {
        font-family: 'Frogie-Regular';
        src: url('../fonts/Frogie-Regular.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }

    body {
        background: #ffffff;
        font-family: 'Frogie-Regular', Arial, sans-serif;
        overflow-x: hidden;
    }

    /* HEADER GRADASI */
    .hero {
        position: relative;
        overflow: hidden;
        padding-top: 50px;
        padding-bottom: 100px;
    }

    /* Layer untuk menutup seluruh bagian atas */
    .hero::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 180px;

        background: linear-gradient(
            to bottom,
            #b34b66 0%,
            #b34b66 50%,
            #aa7c9b 100%
        );

        z-index: 1;
    }


    /* Layer ellipse untuk membuat lengkungan */
    .hero::after {
        content: "";
        position: absolute;

        left: 50%;
        bottom: 20px;

        transform: translateX(-50%);

        width: 140%;
        height: 500px;

        background: linear-gradient(
            to bottom,
            #b34b66 20%,
            #98b8dc 100%
        );

        border-radius: 50%;

        z-index: 1;
    }


    .hero-content {
        position: relative;
        z-index: 2;
        padding-top: 50px;
    }

    /* Logo */
    .logo {
        width: 150px;
        height: 150px;
    }

    /* KOTAK */
    .feature-box {
        height: 100px;
        border-radius: 20px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform .3s ease;
    }

    .feature-box > .judul {
        text-decoration: none;
        color: #fff;
        font-size: 1.7rem;
    }

    .feature-box:hover {
        transform: translateY(-5px);
    }

    .box-1 { background: #b34b66; }
    .box-2 { background: #e09cb1; }
    .box-3 { background: #98b8dc; }
    .box-4 { background: #6397cd; }


    /* AREA TOMBOL */
    .features-wrapper {
        margin-top: -80px;
        position: relative;
        z-index: 5;
        padding-bottom: 40px;
    }


    /* DESKTOP */
    @media (min-width: 768px) {
        .hero {
            padding-top: 50px;
            padding-bottom: 120px;
        }
    }

    /* MOBILE */
    @media (max-width: 767.98px) {
        .hero {
            text-align: center;
            padding-top: 0;
            padding-bottom: 60px;
        }

        .logo {
            width: 300px;
            height: 300px;
        }

        .feature-box {
            height: 100px;
        }
    }