

        body {
            font-family: 'Inter', sans-serif;
            scroll-behavior: smooth;
        }
        h1, h2, h3, h4, h5, h6{
            font-family: 'Inter', sans-serif;
        }
        
        .prose-text {
            font-family: 'Merriweather', serif; /* Restored Merriweather */
            font-size: 18px; /* Restored optimal size for Merriweather */
            line-height: 1.8; /* Restored optimal line-height */
            color: #334155; /* Kept the softer slate color for readability */
            transition: font-size 0.2s ease-in-out;
        }

        hr {
           display: none;
        }

        /* Relative sizing for children of prose-text so they scale with the parent */
        .prose-text h3 {
            font-family: 'Inter', sans-serif; /* Keep headings sans-serif for contrast */
            font-size: 1.4em; 
            line-height: 1.3;
            color: #111827; /* Darker for contrast */
        }

       
        
        /* Ensure the span numbers inside h3 also scale */
        .prose-text h3 span {
            font-size: 1em; /* Matches h3 size */
        }
        
        .prose-text .lead-text {
            font-size: 1.15em;
            color: #1e293b;
        }
        
        /* Custom Gradient Text */
        .text-gradient {
            background: linear-gradient(135deg, #4F46E5 0%, #EC4899 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .bg-gradient-primary {
            background: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
        }

        /* Abstract Art Backgrounds - Mobile Optimized */
        .blob {
            position: absolute;
            filter: blur(60px); /* Reduced blur for mobile performance */
            z-index: -1;
            opacity: 0.6;
            animation: float 10s infinite ease-in-out alternate;
            max-width: 100vw; /* Prevent overflow */
        }
        .blob-1 { top: -10%; left: -10%; width: 300px; height: 300px; background: #E0E7FF; border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
        .blob-2 { bottom: -10%; right: -10%; width: 250px; height: 250px; background: #FCE7F3; border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; animation-delay: -5s; }
        .blob-3 { top: 40%; left: 20%; width: 150px; height: 150px; background: #CCFBF1; border-radius: 50%; opacity: 0.5; animation-delay: -2s; }
        
        @media (min-width: 768px) {
            .blob-1 { width: 600px; height: 600px; filter: blur(80px); }
            .blob-2 { width: 500px; height: 500px; }
            .blob-3 { width: 300px; height: 300px; }
        }
        
        /* Icon Blob Backgrounds */
        .icon-blob {
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            z-index: -1;
            opacity: 0.2;
            transform: scale(1.2);
        }

        /* Textures */
        .pattern-dots-rose {
            background-image: radial-gradient(circle, #fda4af 1.5px, transparent 1.5px);
            background-size: 20px 20px;
        }

        @keyframes float {
            0% { transform: translate(0, 0) rotate(0deg); }
            100% { transform: translate(30px, 50px) rotate(10deg); }
        }
        
        /* Slide Over Transitions */
        .slide-over-backdrop {
            transition: opacity 0.5s ease-in-out;
        }
        .slide-over-panel {
            transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1);
        }

        /* Message Box for Font Controls */
        #font-message-box {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: #374151;
            color: #fff;
            padding: 8px 16px;
            border-radius: 9999px;
            font-size: 0.875rem;
            opacity: 0;
            transition: opacity 0.3s ease-in-out;
            pointer-events: none;
            z-index: 100;
            white-space: nowrap;
        }

        #header, #footer {
            display: none!important;
        }
  