body { font-family: 'Poppins', sans-serif; }
        
        /* Floating wave keyframes for hero headline */
        @keyframes floatWord1 {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-7px); }
        }
        @keyframes floatWord2 {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-8px); }
        }
        @keyframes floatWord3 {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-6px); }
        }
        @keyframes fadeInUpText {
            0% { opacity: 0; transform: translateY(26px); }
            100% { opacity: 1; transform: translateY(0); }
        }
        @keyframes softTracking {
            0%, 100% { letter-spacing: 0.2em; opacity: 0.95; }
            50% { letter-spacing: 0.24em; opacity: 1; }
        }
        @keyframes rippleWave {
            0% { transform: scale(0.95); opacity: 0.75; }
            100% { transform: scale(1.6); opacity: 0; }
        }

        .anim-tag {
            display: inline-block;
            animation: fadeInUpText 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards, softTracking 5s ease-in-out infinite 0.8s;
        }

        .anim-line-1 {
            display: inline-block;
            animation: fadeInUpText 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both, floatWord1 4.8s ease-in-out infinite 1.05s;
            transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), text-shadow 0.35s ease;
            cursor: default;
        }
        .anim-line-1:hover {
            transform: translateY(-6px) scale(1.02);
            text-shadow: 0 12px 30px rgba(255, 255, 255, 0.5);
        }

        .anim-line-2 {
            display: inline-block;
            animation: fadeInUpText 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both, floatWord2 5.2s ease-in-out infinite 1.2s;
            transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), text-shadow 0.35s ease;
            cursor: default;
        }
        .anim-line-2:hover {
            transform: translateY(-6px) scale(1.02);
            text-shadow: 0 12px 25px rgba(0, 0, 0, 0.35);
        }

        .anim-line-3 {
            display: inline-block;
            animation: fadeInUpText 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.45s both, floatWord3 4.6s ease-in-out infinite 1.35s;
            transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), text-shadow 0.35s ease;
            cursor: default;
        }
        .anim-line-3:hover {
            transform: translateY(-6px) scale(1.02);
            text-shadow: 0 12px 25px rgba(0, 0, 0, 0.35);
        }

        .anim-cta-group {
            animation: fadeInUpText 1s cubic-bezier(0.16, 1, 0.3, 1) 0.6s both;
        }

        .ripple-halo {
            animation: rippleWave 2.4s cubic-bezier(0.1, 0.8, 0.3, 1) infinite;
        }

        /* Commercial Airplane flight entrance */
        @keyframes planeFlyIn {
            0% {
                opacity: 0;
                transform: translate3d(260px, 115px, 0) scale(0.86) rotate(-2.5deg);
            }
            30% {
                opacity: 1;
            }
            75% {
                transform: translate3d(-8px, -4px, 0) scale(1.01) rotate(1.4deg);
            }
            100% {
                opacity: 1;
                transform: translate3d(0, 0, 0) scale(1) rotate(1deg);
            }
        }

        /* Subtle cruising flight hover after entrance */
        @keyframes planeCruising {
            0%, 100% {
                transform: translate3d(0, 0, 0) scale(1) rotate(1deg);
            }
            50% {
                transform: translate3d(-5px, -8px, 0) scale(1.006) rotate(1.5deg);
            }
        }

        /* VIP Tour Bus driving entrance */
        @keyframes busDriveIn {
            0% {
                opacity: 0;
                transform: translate3d(-240px, 8px, 0) scale(0.94);
            }
            25% {
                opacity: 1;
            }
            70% {
                transform: translate3d(6px, -1px, 0) scale(1.005);
            }
            88% {
                transform: translate3d(-2px, 1px, 0) scale(1);
            }
            100% {
                opacity: 1;
                transform: translate3d(0, 0, 0) scale(1);
            }
        }

        .anim-hero-plane {
            animation: planeFlyIn 1.9s cubic-bezier(0.16, 1, 0.3, 1) both;
            will-change: transform, opacity;
        }

        .anim-hero-bus {
            animation: busDriveIn 1.7s cubic-bezier(0.2, 0.9, 0.3, 1) 0.15s both;
            will-change: transform, opacity;
        }

        html {
            scroll-behavior: smooth;
        }

        /* Vacation Packages Card & Modal Styling */
        .package-card {
            transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .package-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 30px -10px rgba(30, 64, 175, 0.12), 0 8px 16px -6px rgba(0, 0, 0, 0.05);
        }
        .package-card:hover .package-img {
            transform: scale(1.06);
        }
        .package-img {
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .custom-scrollbar::-webkit-scrollbar {
            width: 6px;
        }
        .custom-scrollbar::-webkit-scrollbar-track {
            background: #f1f5f9;
            border-radius: 9999px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 9999px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }

        /* Script font and Polaroid Styling for About Us Section */
        .font-script {
            font-family: 'Caveat', 'Segoe Print', 'Bradley Hand', 'Brush Script MT', cursive;
        }

        .polaroid-frame {
            background-color: #ffffff;
            box-shadow: 0 14px 28px rgba(19, 42, 74, 0.12), 0 10px 10px rgba(19, 42, 74, 0.08);
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), z-index 0.1s;
            will-change: transform;
        }
        .polaroid-frame:hover {
            transform: rotate(0deg) scale(1.05) translateY(-6px) !important;
            box-shadow: 0 25px 40px -10px rgba(19, 42, 74, 0.25), 0 16px 20px -8px rgba(0, 0, 0, 0.12);
            z-index: 30 !important;
        }

/* =============================================================================
   GUARANTEED 1-PAGE VACATION PACKAGE VOUCHER PRINTING
   ============================================================================= */
@page {
    size: portrait;
    margin: 8mm 10mm;
}

@media print {
    html, body {
        height: auto !important;
        max-height: 100vh !important;
        min-height: 0 !important;
        overflow: hidden !important;
        background: #ffffff !important;
        color: #000000 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Collapse all page layout elements outside the package modal */
    header,
    nav,
    main,
    section,
    footer,
    #auth-required-modal,
    #sign-in-modal,
    #sign-up-modal,
    #pkg-form-container,
    #pkg-confirmation-container > div:first-child,
    #pkg-confirmation-container > div:last-child,
    .no-print {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    #package-booking-modal {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 auto !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    #package-modal-card {
        display: block !important;
        width: 100% !important;
        max-width: 600px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    #package-modal-card > div:first-child {
        display: none !important;
    }

    #pkg-confirmation-container {
        display: block !important;
        padding: 0 !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    /* Single Page Printable Package Voucher Card */
    #printable-package-voucher {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 560px !important;
        margin: 0 auto !important;
        padding: 14px 16px !important;
        background: #ffffff !important;
        color: #0f172a !important;
        border: 2px solid #0f172a !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        page-break-after: avoid !important;
        break-after: avoid !important;
        page-break-before: avoid !important;
        break-before: avoid !important;
    }

    #printable-package-voucher * {
        visibility: visible !important;
    }
}
