:root {
            --primary: #01a78b;
            --primary-600: #018a73;
            --brand-white: #ffffff;
            --brand-light: #f8fafc;
            --brand-dark: #1a202c;
        }
        
        .bg-primary { background-color: var(--primary); }
        .bg-primary-600 { background-color: var(--primary-600); }
        .text-primary { color: var(--primary); }
        .border-primary { border-color: var(--primary); }
        .hover\:bg-primary-600:hover { background-color: var(--primary-600); }
        .hover\:text-primary:hover { color: var(--primary); }
        
        .bg-brand-white { background-color: var(--brand-white); }
        .bg-brand-light { background-color: var(--brand-light); }
        .bg-brand-dark { background-color: var(--brand-dark); }
        .text-brand-white { color: var(--brand-white); }
        .text-brand-dark { color: var(--brand-dark); }
        
        /* Animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes bounce-subtle {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }
        
        .animate-fade-in-up {
            animation: fadeInUp 0.8s ease-out;
        }
        
        .animate-bounce-subtle {
            animation: bounce-subtle 2s infinite;
        }
        
        /* Mobile menu toggle */
        .mobile-menu {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out;
        }
        
        .mobile-menu.open {
            max-height: 500px;
        }
        
        /* FAQ accordion */
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-in-out;
        }
        
        .faq-answer.open {
            max-height: 200px;
        }
        
        /* Smooth scrolling */
        html {
            scroll-behavior: smooth;
        }
        
        /* Background for hero */
        .hero-bg {
            background-image: linear-gradient(rgba(1, 167, 139, 0.85), rgba(1, 167, 139, 0.75)), url('../images/home-banner.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }
        
        /* Custom utilities */
        .backdrop-blur-sm { backdrop-filter: blur(4px); }
        .backdrop-blur-md { backdrop-filter: blur(12px); }