        :root {
            --blue: #1976d2;
            --orange: #f57c00;
            --bg: #f4f6f9;
            --dark: #1f2933;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Inter', sans-serif;
            background: var(--bg);
            color: var(--dark);
            line-height: 1.7;
        }

        /* HEADER */
        header {
            position: sticky;
            top: 0;
            z-index: 1000;
            background: #1e293b;
            padding: 14px 60px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* BRAND (logo + text) */
        .brand {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .brand img {
            height: 52px;
            width: auto;
            background: #e5e7eb;
            padding: 6px 10px;
            border-radius: 10px;
            border: 1px solid rgba(255, 255, 255, 0.15);
        }

        .brand span {
            font-family: 'Poppins', sans-serif;
            font-size: 18px;
            font-weight: 600;
            color: #fff;
            white-space: nowrap;
        }

        nav {
            display: flex;
            align-items: center;
            gap: 28px;
        }

        nav a {
            color: #fff;
            text-decoration: none;
            font-weight: 500;
            font-size: 14px;
        }

        nav a:hover::after {
            width: 100%;
        }

        /* HERO */
        .hero {
            position: relative;
            min-height: 75vh;
            background: url('/assets/images/hero-cv.avif') center / cover no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: #fff;
            padding: 0 60px;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.65);
        }

        .hero>div {
            position: relative;
            z-index: 2;
        }

        .hero h2 {
            font-family: 'Poppins', sans-serif;
            font-size: 44px;
            margin-bottom: 18px;
        }

        .hero p {
            max-width: 760px;
            opacity: .95;
        }

        /* ABOUT */
        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1.3fr;
            gap: 40px;
            align-items: center;
        }

        .about-image img {
            width: 100%;
            border-radius: 16px;
            object-fit: cover;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: transform 0.5s ease, box-shadow 0.5s ease;
        }

        .about-image:hover img {
            transform: scale(1.03);
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
        }

        .about-content p {
            margin-bottom: 20px;
            line-height: 1.7;
        }

        /* SECTION */
        section {
            padding: 110px 60px;
            background: linear-gradient(180deg, #fff, #f8fafc);
            text-align: center;
        }

        .section-clean {
            background: #fff;
        }

        .container {
            max-width: 1200px;
            margin: auto;
        }

        h3 {
            font-family: 'Poppins', sans-serif;
            font-size: 34px;
            margin-bottom: 18px;
        }

        .subtitle {
            max-width: 760px;
            margin: 0 auto 60px;
            color: #475569;
        }

        /* GRID */
        .profile-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
            text-align: left;
        }

        .card {
            background: #fff;
            border: 1px solid #e5e7eb;
            padding: 36px;
            border-radius: 18px;
            transition: .3s ease;
        }

        .card:hover {
            transform: translateY(-8px);
            box-shadow: 0 24px 50px rgba(0, 0, 0, .08);
        }

        /* Legalitas & Alur Kerja - grid layout untuk desktop */
        .list-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            /* 2 kolom di desktop */
            gap: 32px;
        }

        .list-grid div {
            padding: 24px 20px;
            border-radius: 16px;
            background: #fff;
            border: 1px solid #e5e7eb;
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
            transition: transform .3s ease, box-shadow .3s ease;
        }

        .list-grid div:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
        }

        /* FOOTER */
        footer {
            background: #0f172a;
            color: #fff;
            padding: 60px;
            text-align: center;
        }

        footer p {
            opacity: .85;
            margin-bottom: 8px;
        }

        /* ANIMATION */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: .8s ease;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* RESPONSIVE */
        @media (max-width: 768px) {

            /* GLOBAL */
            section {
                padding: 70px 20px;
            }

            .container {
                padding: 0;
            }

            h3 {
                font-size: 26px;
            }

            .subtitle {
                font-size: 15px;
                margin-bottom: 40px;
            }

            /* HEADER */
            header {
                padding: 10px 16px;
                flex-direction: row;
                align-items: center;
            }

            header h1 {
                font-size: 15px;
                white-space: nowrap;
            }

            header {
                padding: 10px 16px;
            }


            .brand img {
                height: 36px;
            }


            .brand span {
                font-size: 14px;
            }


            nav {
                gap: 12px;
            }

            nav a {
                font-size: 13px;
                padding-bottom: 2px;
            }

            /* language switch rapet */
            nav div {
                margin-left: 6px !important;
                font-size: 13px;
                white-space: nowrap;
            }

            /* HERO */
            .hero {
                min-height: 65vh;
                padding: 0 20px;
            }

            .hero h2 {
                font-size: 28px;
                line-height: 1.3;
            }

            .hero p {
                font-size: 15px;
            }

            /* GRID PROFIL */
            .profile-grid {
                grid-template-columns: 1fr;
                gap: 32px;
            }

            .card {
                padding: 24px;
            }

            /* LIST GRID (LEGAL & ALUR) */
            .list-grid {
                grid-template-columns: 1fr;
                gap: 20px;
            }

            /* FOOTER */
            footer {
                padding: 40px 20px;
                font-size: 14px;
            }

            /* WHATSAPP */
            .wa-float {
                right: 16px;
                bottom: 16px;
                padding: 12px 18px;
                font-size: 14px;
            }

            .wa-float img {
                width: 20px;
                height: 20px;
            }

            .about-grid {
                grid-template-columns: 1fr;
            }

            .about-image {
                order: -1;
            }
        }

        /* WHATSAPP FLOATING */
        .wa-float {
            position: fixed;
            bottom: 28px;
            right: 28px;
            z-index: 2000;
            background: #25D366;
            color: #fff;
            padding: 14px 22px;
            border-radius: 50px;
            display: flex;
            align-items: center;
            gap: 10px;
            text-decoration: none;
            font-weight: 600;
            box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
            transition: transform .3s ease, box-shadow .3s ease;
        }

        .wa-float:hover {
            transform: translateY(-6px);
            box-shadow: 0 26px 60px rgba(0, 0, 0, .45);
        }

        .wa-float img {
            width: 22px;
            height: 22px;
        }