        .font-heading { font-family: 'Libre Baskerville', serif; }
        .font-body { font-family: 'Montserrat', sans-serif; }
        .text-primary { color: #374548; }
        .text-accent { color: #E24C2B; }
        .bg-primary { background-color: #374548; }
        .bg-accent { background-color: #E24C2B; }
        .border-accent { border-color: #E24C2B; }
        
        /* Custom animations */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeInLeft {
            from { opacity: 0; transform: translateX(-30px); }
            to { opacity: 1; transform: translateX(0); }
        }
        @keyframes fadeInRight {
            from { opacity: 0; transform: translateX(30px); }
            to { opacity: 1; transform: translateX(0); }
        }
        
        .animate-fade-in-up { animation: fadeInUp 0.8s ease-out forwards; }
        .animate-fade-in-left { animation: fadeInLeft 0.8s ease-out forwards; }
        .animate-fade-in-right { animation: fadeInRight 0.8s ease-out forwards; }
        .animate-delay-200 { animation-delay: 0.2s; }
        .animate-delay-400 { animation-delay: 0.4s; }
        .animate-delay-600 { animation-delay: 0.6s; }
        
        .opacity-0 { opacity: 0; }
        
        /* Smooth scrolling */
        html { scroll-behavior: smooth; }
        
        /* Mobile menu transition */
        .mobile-menu { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out; }
        .mobile-menu.open { max-height: 500px; }
        
        /* Hover effects */
        .service-card:hover { transform: translateY(-5px); transition: transform 0.3s ease; }
        .cta-button:hover { transform: scale(1.05); transition: transform 0.2s ease; }

            .fade-in {
            animation: fadeIn 1s ease-in-out;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .hover-lift {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .hover-lift:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(55, 69, 72, 0.15);
        }
        
        .pulse-accent {
            animation: pulseAccent 2s infinite;
        }
        
        @keyframes pulseAccent {
            0%, 100% { box-shadow: 0 0 0 0 rgba(226, 76, 43, 0.4); }
            50% { box-shadow: 0 0 0 10px rgba(226, 76, 43, 0); }
        }