    /* Custom styles — beyond Tailwind */

    ::selection {
        background: rgba(45, 212, 191, 0.2);
        color: #f0f4f8;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background-color: #050d1a;
    }

    /* Navbar scroll state */
    nav.scrolled {
        background: rgba(5, 13, 26, 0.92);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    /* Menu card hover glow */
    .menu-card:hover {
        box-shadow: 0 0 40px rgba(45, 212, 191, 0.06);
        transform: translateY(-4px);
    }

    .menu-card {
        transform: translateY(0);
    }

    /* Mobile menu open state */
    #mobile-menu.open {
        transform: translateX(0);
    }

    /* Hamburger animation */
    #mobile-toggle.active #bar1 {
        transform: rotate(45deg) translate(5px, 5px);
    }
    #mobile-toggle.active #bar2 {
        opacity: 0;
    }
    #mobile-toggle.active #bar3 {
        transform: rotate(-45deg) translate(5px, -5px);
        width: 1.5rem;
    }

    /* Mobile link hover */
    .mobile-link {
        position: relative;
    }
    .mobile-link::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 50%;
        width: 0;
        height: 1px;
        background: #2dd4bf;
        transition: all 0.3s ease;
        transform: translateX(-50%);
    }
    .mobile-link:hover::after {
        width: 80%;
    }

    /* Fade-in animation */
    .fade-in {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .fade-in.visible {
        opacity: 1;
        transform: translateY(0);
    }

    /* Gold accent line under headings */
    .section-label {
        position: relative;
        display: inline-block;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #050d1a;
    }
    ::-webkit-scrollbar-thumb {
        background: rgba(45, 212, 191, 0.2);
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: rgba(45, 212, 191, 0.4);
    }

    /* Image aspect ratio fallback */
    .menu-card img,
    #about img {
        will-change: transform;
    }

    /* Subtle shimmer on gold elements */
    @keyframes shimmer {
        0% { background-position: -200% center; }
        100% { background-position: 200% center; }
    }

    /* Pulse for status dot */
    @keyframes pulse-ring {
        0% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0.4); }
        70% { box-shadow: 0 0 0 6px rgba(45, 212, 191, 0); }
        100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); }
    }

    .animate-pulse-ring {
        animation: pulse-ring 2s infinite;
    }
