        :root {
            --cose-primary: #1a6e46;
            --cose-primary-dark: #0d4b2a;
            --cose-primary-light: #4c9d6f;
            --cose-secondary: #f5f0e6;
            --cose-accent: #e63946;
            --cose-text: #333333;
            --cose-text-light: #6c757d;
            --cose-bg-light: #f8f9fa;
            --cose-white: #ffffff;
            --cose-black: #212529;
            
            /* Fluid spacing variables */
            --space-3xs: clamp(0.25rem, 0.2rem + 0.25vw, 0.375rem);
            --space-2xs: clamp(0.5rem, 0.4rem + 0.5vw, 0.75rem);
            --space-xs: clamp(0.75rem, 0.6rem + 0.75vw, 1.25rem);
            --space-sm: clamp(1rem, 0.8rem + 1vw, 1.5rem);
            --space-md: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
            --space-lg: clamp(2rem, 1.6rem + 2vw, 3.5rem);
            --space-xl: clamp(3rem, 2.4rem + 3vw, 5rem);
            
            /* Fluid typography */
            --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
            --text-sm: clamp(0.875rem, 0.825rem + 0.25vw, 1rem);
            --text-base: clamp(1rem, 0.925rem + 0.375vw, 1.25rem);
            --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.5rem);
            --text-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.75rem);
            --text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
            --text-3xl: clamp(1.75rem, 1.4rem + 1.75vw, 3rem);
            --text-4xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
        }

        h1, .h1 {
            font-size: var(--text-4xl);
            line-height: 1.2;
            font-weight: 700;
        }
        
        h2, .h2 {
            font-size: var(--text-3xl);
            line-height: 1.25;
            font-weight: 600;
        }
        
        h3, .h3 {
            font-size: var(--text-2xl);
            line-height: 1.3;
            font-weight: 600;
        }
        
        h4, .h4 {
            font-size: var(--text-xl);
            line-height: 1.35;
            font-weight: 600;
        }
        
        .lead {
            font-size: var(--text-lg);
            line-height: 1.5;
        }
        
        .hero-gradient {
            background: linear-gradient(135deg, var(--cose-primary-dark) 0%, var(--cose-primary) 100%);
            padding: var(--space-xl) 0;
        }
        
        .donor-card {
            border-radius: 12px;
            transition: all 0.3s ease;
            border-left: 4px solid;
            background-color: var(--cose-white);
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
            height: 100%;
            overflow: hidden;
            position: relative;
        }
        
        .donor-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: currentColor;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        
        .donor-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        }
        
        .donor-card:hover::before {
            opacity: 1;
        }
        
        .gold-card {
            border-left-color: #FFD700;
            background: linear-gradient(to right, rgba(255, 215, 0, 0.05), var(--cose-white));
        }
        
        .gold-card::before {
            color: #FFD700;
        }
        
        .silver-card {
            border-left-color: #C0C0C0;
            background: linear-gradient(to right, rgba(192, 192, 192, 0.05), var(--cose-white));
        }
        
        .silver-card::before {
            color: #C0C0C0;
        }
        
        .bronze-card {
            border-left-color: #CD7F32;
            background: linear-gradient(to right, rgba(205, 127, 50, 0.05), var(--cose-white));
        }
        
        .bronze-card::before {
            color: #CD7F32;
        }
        
        .individual-card {
            border-left-color: var(--cose-primary-light);
            transition: all 0.3s ease;
        }
        
        .individual-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.1);
            border-left-color: var(--cose-primary);
        }
        
        .donor-avatar {
            width: clamp(60px, 5vw + 20px, 80px);
            height: clamp(60px, 5vw + 20px, 80px);
            object-fit: cover;
            border: 3px solid var(--cose-white);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            transition: transform 0.3s ease;
        }
        
        .donor-card:hover .donor-avatar {
            transform: scale(1.05);
        }
        
        .tier-icon {
            font-size: var(--text-2xl);
            margin-bottom: var(--space-xs);
        }
        
        .section-title {
            position: relative;
            display: inline-block;
            margin-bottom: var(--space-md);
        }
        
        .section-title:after {
            content: '';
            position: absolute;
            bottom: calc(var(--space-2xs) * -1);
            left: 0;
            width: 50px;
            height: 4px;
            background-color: var(--cose-primary);
            border-radius: 2px;
        }
        
        .bg-light-custom {
            background-color: var(--cose-secondary);
            padding: var(--space-lg) 0;
        }
        
        .text-primary-cose {
            color: var(--cose-primary);
        }
        
        .lead-custom {
            font-size: var(--text-lg);
            color: var(--cose-text-light);
        }
        
        .quote-icon {
            color: var(--cose-primary-light);
            opacity: 0.3;
            font-size: var(--text-3xl);
        }

        /* Responsive card grid */
        .donors-grid {
            display: grid;
            gap: var(--space-sm);
            grid-template-columns: repeat(1, 1fr);
        }

        @media (min-width: 576px) {
            .donors-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (min-width: 768px) {
            .donors-grid {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (min-width: 992px) {
            .donors-grid {
                grid-template-columns: repeat(4, 1fr);
            }
        }

        @media (min-width: 1200px) {
            .donors-grid {
                grid-template-columns: repeat(5, 1fr);
            }
        }

        /* Individual donors grid */
        .individual-donors {
            display: grid;
            gap: var(--space-sm);
            grid-template-columns: repeat(1, 1fr);
        }

        @media (min-width: 400px) {
            .individual-donors {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (min-width: 768px) {
            .individual-donors {
                grid-template-columns: repeat(3, 1fr);
            }
        }

        @media (min-width: 992px) {
            .individual-donors {
                grid-template-columns: repeat(4, 1fr);
            }
        }

        @media (min-width: 1200px) {
            .individual-donors {
                grid-template-columns: repeat(5, 1fr);
            }
        }

        /* Appreciation card */
        .appreciation-card {
            border: none;
            box-shadow: 0 5px 20px rgba(0,0,0,0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            background-color: var(--cose-white);
            border-radius: 12px;
        }
        
        .appreciation-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.12);
        }

        /* Donate button */
        .btn-donate {
            background-color: var(--cose-accent);
            color: white;
            font-weight: 600;
            padding: var(--space-xs) var(--space-md);
            border-radius: 50px;
            transition: all 0.3s ease;
            font-size: var(--text-base);
        }
        
        .btn-donate:hover {
            background-color: #c1121f;
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(230, 57, 70, 0.3);
        }