@keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }

        @keyframes float-book {
            0%, 100% { transform: translateY(0) rotate(0); }
            50% { transform: translateY(-15px) rotate(2deg); }
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes popIn {
            0% { opacity: 0; transform: scale(0.8); }
            70% { transform: scale(1.05); }
            100% { opacity: 1; transform: scale(1); }
        }

        @keyframes bounceIn {
            0% { opacity: 0; transform: scale(0.3); }
            50% { opacity: 1; transform: scale(1.05); }
            70% { transform: scale(0.9); }
            100% { transform: scale(1); }
        }

        @keyframes zoomIn {
            0% { transform: scale(1); }
            100% { transform: scale(1.1); }
        }

        .animate-float {
            animation: float 6s ease-in-out infinite;
        }

        .animate-float-book {
            animation: float-book 6s ease-in-out infinite;
        }

        .animate-fadeIn {
            animation: fadeIn 0.8s forwards;
        }

        .animate-pop-in {
            animation: popIn 0.6s forwards;
            opacity: 0;
        }

        .animate-bounce-in {
            animation: bounceIn 0.8s forwards;
            opacity: 0;
        }

        .dot-indicator.active {
            background-color: white;
            width: 12px;
        }

        .slide-overlay {
            background-color: rgba(0, 0, 0, 0.6);
        }

        .hero-carousel {
            height: 600px;
        }

        .hero-slides {
            height: 100%;
        }

        .hero-slide {
            height: 100%;
            position: absolute;
            width: 100%;
            transition: opacity 0.8s ease, transform 0.8s ease;
        }

        .hero-slide.active {
            z-index: 1;
        }

        .hero-slide img {
            transition: transform 8s ease;
        }

        .hero-slide.active img {
            animation: zoomIn 8s ease forwards;
        }

        .slide-content {
            max-width: 90%;
            width: 100%;
        }

        .client-testimonial {
            opacity: 1;
            animation: fadeIn 0.8s ease-out;
            transform: translateY(0);
        }

        /* Line clamp for post content */
        .post-content {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }
