        /* Apply custom font families */
        .font-playfair { font-family: 'Playfair Display', serif; }
        .font-dm-sans { font-family: 'DM Sans', sans-serif; }
        .font-inter { font-family: 'Inter', sans-serif; }

        /* Custom scrollbar for a softer look */
        ::-webkit-scrollbar {
            width: 8px;
        }

        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }

        ::-webkit-scrollbar-thumb {
            background: #9DB8A0; /* Sage Green */
            border-radius: 4px;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: #7A6A58; /* Muted Brown */
        }

        /* Subtle Grain Texture for Hero Overlay (can be enabled via JS or CSS) */
        .grain-texture {
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
            background-size: cover;
            pointer-events: none;
        }

        /* Smooth Transitions for hover effects */
        .transition-default {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        /* Custom Utility for text on buttons */
        .btn-text {
            letter-spacing: 1px;
            text-transform: uppercase;
        }
    