        /* Typography setup */
        body {
            font-family: 'Inter', sans-serif;
            background-color: #FEFBF6;
            color: #3D405B;
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Poppins', sans-serif;
        }
        .font-quicksand {
             font-family: 'Quicksand', sans-serif;
        }
        
        /* Floating Icons Animation */
        @keyframes float {
            0% { transform: translateY(0) rotate(0deg); opacity: 0.7; }
            50% { transform: translateY(-20px) rotate(10deg); opacity: 1; }
            100% { transform: translateY(0) rotate(0deg); opacity: 0.7; }
        }
        .floating-icon {
            animation: float 6s ease-in-out infinite;
        }

        /* Glassmorphism Style for Modal */
        .glassmorphic {
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        /* Scroll-triggered animation classes */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* Custom Button Gradients and Shadows */
        .btn-peach {
            background-image: linear-gradient(to right, #FFC0CB, #FFDAB9);
            transition: all 0.3s ease;
        }
        .btn-peach:hover {
            box-shadow: 0 0 20px #FFC0CB, 0 0 10px #FFDAB9;
            transform: translateY(-2px);
        }
        .btn-sage {
            background-color: #A3B18A;
            transition: all 0.3s ease;
        }
        .btn-sage:hover {
            box-shadow: 0 0 20px #A3B18A;
            transform: translateY(-2px);
            animation: pulse 1.5s infinite;
        }
        @keyframes pulse {
            0%, 100% { transform: scale(1) translateY(-2px); }
            50% { transform: scale(1.05) translateY(-2px); }
        }
        
        /* Cursor Trail */
        .trail {
            position: fixed;
            pointer-events: none;
            width: 15px;
            height: 15px;
            border-radius: 50%;
            z-index: 9999;
            transition: transform 0.1s linear, opacity 0.2s linear;
        }

        /* Modal scrollbar styling */
        .modal-content::-webkit-scrollbar {
            width: 8px;
        }
        .modal-content::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 10px;
        }
        .modal-content::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 10px;
        }
        .modal-content::-webkit-scrollbar-thumb:hover {
            background: #555;
        }
        
        /* Hamburger menu transition */
        #mobile-menu {
            transition: transform 0.3s ease-in-out;
        }

