/* Base Styles */
body {
    font-family: "Outfit", sans-serif;
}

/* Mobile Menu Animation */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease-in-out;
    opacity: 0;
    pointer-events: none;
}

#mobile-menu.open {
    max-height: 400px;
    opacity: 1;
    pointer-events: auto;
}

/* Hero Background Grid Animation (Optional Flare) */
@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-100% - 3rem)); }
}

.animate-scroll {
    animation: scroll 30s linear infinite;
}

.animate-scroll:hover {
    animation-play-state: paused;
}

/* Smooth dark mode transitions for background and borders */
* {
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.1s ease;
}

/* Hybrid Status Badges */
.badge-native {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
}

.badge-jvm {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
    color: white;
}

/* Add a subtle pulse to the performance metrics */
.performance-stat {
    transition: transform 0.3s ease;
}
.performance-stat:hover {
    transform: scale(1.05);
}

/* Core Competency Card Hover */
.competency-card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.competency-card:hover {
    transform: translateY(-10px);
    border-color: #ea580c; /* orange-600 */
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

/* Hybrid Status Badges */
.badge-native {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
}

.badge-jvm {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%);
    color: white;
}

/* Operational Terminal Look */
.font-mono {
    font-family: 'JetBrains Mono', 'Fira Code', monospace;
}