.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.ease-out-expo {
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0px 10px 30px rgba(10, 110, 189, 0.08);
}
.text-gradient {
    background: linear-gradient(135deg, #005596 0%, #00687b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hover-lift {
    transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.hover-lift:hover {
    transform: translateY(-4px);
}
.masonry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-auto-rows: 200px;
    gap: 24px;
}
.masonry-item-tall { grid-row: span 2; }
.masonry-item-wide { grid-column: span 2; }

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.stat-card {
    opacity: 0;
}

.stat-card.animate {
    animation: fadeInUp 0.8s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
    .stat-card, .stat-card.animate {
        animation: none;
        opacity: 1;
        transform: none;
    }
}
