        * { font-family: 'Poppins', sans-serif; }
        .heading-font { font-family: 'Playfair Display', serif; }
        
        .hero-gradient { 
            background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            background-size: 400% 400%;
            animation: gradientShift 15s ease infinite;
        }
        @keyframes gradientShift {
            0%, 100% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
        }
        
        .soft-card-hover {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .soft-card-hover:hover {
            transform: translateY(-8px);
            box-shadow: 0 25px 50px -12px rgba(244, 114, 182, 0.25);
        }
        
        .pastel-badge { background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(10px); }
        .nav-blur {
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.85);
        }
        
        .section-padding { padding: 5rem 1rem; }
        @media (max-width: 768px) { .section-padding { padding: 3rem 1rem; } }
        
        .bubble {
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(5deg); }
        }
        .bubble:nth-child(2) { animation-delay: 2s; }
        .bubble:nth-child(3) { animation-delay: 4s; }
        
        .typewriter {
            overflow: hidden;
            border-right: 3px solid #ec4899;
            white-space: nowrap;
            animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
        }
        @keyframes typing { from { width: 0 } to { width: 100% } }
        @keyframes blink-caret { from, to { border-color: transparent } 50% { border-color: #ec4899; } }
