:root {
            --primary-blue: #1a365d;
            --secondary-teal: #0d9488;
            --accent-orange: #ea580c;
            --light-bg: #f8fafc;
        }
        html {
            scroll-behavior: smooth;
        }
        .hero-gradient {
            background: linear-gradient(135deg, var(--primary-blue) 0%, #2d3748 50%, var(--secondary-teal) 100%);
        }
        .card-hover {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.12);
        }
        .flink {
            border-left: 3px solid var(--secondary-teal);
            padding-left: 1rem;
            transition: all 0.2s ease;
        }
        .flink:hover {
            border-left-color: var(--accent-orange);
            background-color: rgba(13, 148, 136, 0.05);
        }
        .nav-link.active {
            color: var(--secondary-teal);
            border-bottom: 2px solid var(--secondary-teal);
        }
        .stat-number {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }
        .publication-card {
            border-top: 4px solid transparent;
            transition: border-color 0.3s ease;
        }
        .publication-card:hover {
            border-top-color: var(--accent-orange);
        }
        .mobile-menu {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-out;
        }
        .mobile-menu.open {
            max-height: 500px;
        }
        @media (max-width: 768px) {
            .hero-height {
                min-height: 80vh;
            }
        }
