/*
 * ==========================================
 * File CSS: Welcome
 * ------------------------------------------
 * File ini mengatur gaya (styling) khusus untuk halaman Welcome.
 * Pastikan untuk menjaga hierarki spesifisitas agar tidak bentrok dengan layout utama.
 * ==========================================
 */



    main.pt-main {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

            #smart-matching-section .step-fade {
                opacity: 0;
            }
            #smart-matching-section.start-animation .step-fade {
                animation: stepFadeUpAnim 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
            }
            @keyframes stepFadeUpAnim {
                0% { opacity: 0; transform: translateY(20px); }
                100% { opacity: 1; transform: translateY(0); }
            }
            #smart-matching-section .draw-line {
                width: 0;
                opacity: 0;
            }
            #smart-matching-section.start-animation .draw-line {
                animation: drawLineAnim 0.25s linear forwards;
            }
            @keyframes drawLineAnim {
                0% { width: 0; opacity: 0; }
                1% { opacity: 1; }
                100% { width: calc(100% - 96px); opacity: 1; }
            }

    .btn-neon-yellow {
        background-color: transparent;
        color: #ffffff; 
        border: 2px solid #ffd93d; 
        box-shadow: 0 0 15px rgba(255, 217, 61, 0.15);
        transition: all 0.3s ease;
    }
    .btn-neon-yellow:hover {
        background-color: #ffd93d; 
        color: #000000; 
        border: 2px solid #ffd93d;
        box-shadow: 0 0 25px rgba(255, 217, 61, 0.6), 0 0 45px rgba(255, 217, 61, 0.3);
        transform: translateY(-3px);
    }
    @media (min-width: 992px) and (max-width: 1199.98px) {
        .btn-cara-kerja, .btn-hover-glow {
            font-size: 0.95rem !important;
            padding-left: 0.75rem !important;
            padding-right: 0.75rem !important;
        }
    }
    .btn-cara-kerja {
        transition: all 0.3s ease;
    }
    .btn-cara-kerja::after {
        content: "";
        position: absolute;
        inset: -1px;
        border-radius: 50rem;
        background: linear-gradient(135deg, #19ddaa, #19aedd, #194cdd);
        z-index: -1;
        opacity: 0;
        transition: opacity 0.3s ease;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        padding: 2px;
    }
    .btn-cara-kerja:hover {
        border-color: transparent !important;
        background-color: #fff !important;
        color: var(--primary-color);
        box-shadow: 0 5px 15px rgba(25, 174, 221, 0.15);
    }
    .btn-cara-kerja:hover::after {
        opacity: 1;
    }

    .service-card {
        transition: transform 0.3s ease;
        position: relative;
        z-index: 1;
    }
    .service-card::before, .service-card::after {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: 1.1rem; 
        background: linear-gradient(135deg, #19ddaa, #19aedd, #194cdd);
        z-index: -1;
        opacity: 0;
        transition: opacity 0.3s ease;
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        padding: 2px;
    }
    .service-card::before {
        filter: blur(8px);
    }
    .service-card:hover {
        transform: translateY(-8px);
    }
    .service-card:hover::before, .service-card:hover::after {
        opacity: 1;
    }
    @keyframes float1 { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-12px); } }
    @keyframes float2 { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-18px); } }
    @keyframes float3 { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-8px); } }

    .float-anim-1 { animation: float1 6s ease-in-out infinite; }
    .float-anim-2 { animation: float2 7s ease-in-out infinite 1s; }
    .float-anim-3 { animation: float3 5s ease-in-out infinite 0.5s; }

    @keyframes popIn {
        0% { opacity: 0; transform: scale(0.8) translateY(20px); }
        100% { opacity: 1; transform: scale(1) translateY(0); }
    }
    .chat-pop {
        opacity: 0;
        animation: popIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    }

    @media (min-width: 992px) and (max-width: 1199.98px) {
        .bubbles-wrapper {
            transform: scale(0.85);
            transform-origin: center center;
        }
    }

    @media (max-width: 991.98px) {
        .bubbles-wrapper {
            height: auto !important;
            display: flex;
            flex-direction: column;
            gap: 15px;
            padding: 20px 15px;
        }
        .bubbles-wrapper > div.bubble-left,
        .bubbles-wrapper > div.bubble-right,
        .bubbles-wrapper > div.bubble-center {
            position: relative !important;
            top: auto !important;
            left: auto !important;
            right: auto !important;
            bottom: auto !important;
            transform: none !important;
            width: 100%;
            display: flex;
            margin-bottom: 5px;
        }
        .bubbles-wrapper > div.bubble-left { justify-content: flex-start; }
        .bubbles-wrapper > div.bubble-right { justify-content: flex-end; }
        .bubbles-wrapper > div.bubble-center { justify-content: center; }

        .bubbles-wrapper .bubble-center .chat-pop > div {
            max-width: 100% !important;
        }
    }

    html { scroll-behavior: smooth; }
    .tracking-wider { letter-spacing: 0.1em; }

    .btn-hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; }
    .btn-hover-lift:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important; }

    .btn-hover-glow { transition: all 0.3s ease; }
    .btn-hover-glow:hover { transform: translateY(-3px); background: var(--primary-color) !important; color: white !important; }
    .btn-hover-glow:hover i { color: white !important; }

    .service-card, .team-card, .webinar-card { transition: all 0.3s ease; top: 0; }
    .service-card:hover, .team-card:hover, .webinar-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important; }

    .trivia-card { transition: transform 0.3s ease; border: 1px solid #f1f5f9 !important; }
    .trivia-card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important; }
    .btn-outline-trivia { 
        border: 1px solid #212529; 
        color: #212529; 
        background: transparent; 
        transition: all 0.2s;
    }
    .btn-outline-trivia:hover {
        background: #212529;
        color: #fff;
    }

    .scrolling-wrapper {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 1rem;
        padding-top: 1rem;
    }
    .scrolling-card {
        flex: 0 0 auto;
        width: 280px;
        margin-right: 1.5rem;
    }
    .scrolling-wrapper::-webkit-scrollbar { display: none; }
    .scrolling-wrapper { -ms-overflow-style: none; scrollbar-width: none; }

    .animate-fade-up { opacity: 0; }
    .animate-fade-up.in-view { animation: fadeUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; will-change: transform, opacity; }

    .animate-fade-left { opacity: 0; }
    .animate-fade-left.in-view { animation: fadeLeft 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; will-change: transform, opacity; transform: translateZ(0); }

    @keyframes fadeUp {
        from { opacity: 0; transform: translateY(30px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeLeft {
        from { opacity: 0; transform: translateX(30px); }
        to { opacity: 1; transform: translateX(0); }
    }

