body { font-family: 'Inter', sans-serif; overflow-x: hidden; background-color: #0a0a0a; }
.bg-animate {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
    z-index: -1; background: #0a0a0a; overflow: hidden;
}
.bg-image {
    position: absolute; inset: 0;
    background-image: url('../assets/bg.jpg');
    background-size: cover; background-position: center; background-repeat: no-repeat;
    opacity: 0.12; filter: grayscale(100%) brightness(0.7); z-index: -5;
}
.blob {
    position: absolute; width: 500px; height: 500px;
    background: rgba(56, 189, 248, 0.12); filter: blur(80px);
    border-radius: 50%; z-index: -2; animation: move 20s infinite alternate;
}
.blob-2 {
    background: rgba(30, 58, 138, 0.15); width: 600px; height: 600px;
    right: -10%; top: -10%; animation-delay: -5s; animation-duration: 25s;
}
@keyframes move {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(20vw, 30vh) scale(1.2); }
}
.glass-card {
    background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
}
.glass-card:hover {
    background: rgba(255, 255, 255, 0.05); border-color: rgba(56, 189, 248, 0.4);
    transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}
.fade-in { animation: fadeIn 0.8s ease-out forwards; opacity: 0; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
/* AJUSTE: Modal Full Screen vindo de baixo */
#modal-projects {
    position: fixed; 
    inset: 0; 
    z-index: 100;
    background: #0a0a0a;
    display: flex;
    flex-direction: column;
    transform: translateY(100%);
    transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
}
#modal-projects.active { 
    transform: translateY(0); 
}

/* AJUSTE: Bandeiras Redondas (Lib flag-icons) */
.lang-btn { 
    width: 1.4rem; /* Menores como pedido */
    height: 1.4rem;
    opacity: 0.4; 
    transition: all 0.3s; 
    cursor: pointer; 
    border-radius: 50% !important; /* Força ficar redonda */
    background-size: cover;
    background-position: center;
    display: inline-block;
}
.lang-btn:hover { transform: scale(1.2); opacity: 1; }
.lang-btn.active { 
    opacity: 1; 
    transform: scale(1.1); 
    box-shadow: 0 0 10px rgba(56, 189, 248, 0.5);
    outline: 2px solid rgba(56, 189, 248, 0.8);
    outline-offset: 2px;
}

@keyframes shimmer {
    100% { transform: translateX(100%); }
}