/* --- RESET & SCROLLBAR --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; width: 100%; background-color: #101010; }

/* Barra de scroll azul como pedido */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #101010; }
::-webkit-scrollbar-thumb { background: #84BAEA; border-radius: 5px; }

::selection { background-color: #84BAEA; color: #101010; }

body { 
    font-family: 'Inter', sans-serif; 
    background-color: #101010; 
    color: #F3F3F3; 
}

/* --- CURSOR WINDOWS AZUL (TAMANHO REAL) --- */
#cursor-custom {
    position: fixed;
    width: 24px; height: 24px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="%2384BAEA" stroke="black" stroke-width="1" d="M10 2l15 15-7.5 1.5 4.5 9-3.5 1.5-4.5-9-6 6V2z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 10000;
    display: none;
}

#cursor-custom.pointer-mode {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="%2384BAEA" stroke="black" stroke-width="1" d="M12 2c-.8 0-1.5.7-1.5 1.5v11.6l-1.3-.9c-.7-.5-1.7-.4-2.2.3-.5.7-.4 1.7.3 2.2l6.7 5.1c.5.4 1.1.6 1.7.6h7.3c1.1 0 2-.9 2-2v-4.5c0-1.1-.9-2-2-2h-1v-1c0-1.1-.9-2-2-2h-1v-1.5c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v3.5h-1v-11.3c0-.8-.7-1.5-1.5-1.5z"/></svg>');
}

/* --- HEADER ALINHADO --- */
.site-header { 
    height: 90px; 
    background: #101010; 
    border-bottom: 1px solid #84BAEA;
    position: fixed; top: 0; width: 100%; z-index: 9000;
    display: flex; align-items: center;
}

.header-container {
    max-width: 1400px; width: 100%; margin: 0 auto;
    padding: 0 40px; display: flex; justify-content: space-between; align-items: center;
}

.logo-img { height: 50px; width: auto; display: block; }
.header-right-group { display: flex; align-items: center; gap: 30px; }

.nav-desktop { display: flex; align-items: center; gap: 25px; }
.nav-desktop a { 
    color: #F3F3F3; text-decoration: none; font-family: 'Bebas Neue', sans-serif; 
    font-size: 1.3rem; transition: 0.3s;
}
.nav-desktop a:hover:not(.btn-donativo) { color: #84BAEA; }

.btn-lang, .btn-donativo {
    font-family: 'Bebas Neue', sans-serif;
    background: transparent; border: 1px solid #F3F3F3; color: #F3F3F3;
    height: 40px; padding: 0 20px; text-decoration: none; font-size: 1.1rem;
    display: inline-flex; align-items: center; justify-content: center; transition: 0.3s;
}
.btn-lang:hover, .btn-donativo:hover { background: #84BAEA; color: #101010; border-color: #84BAEA; }

.shimmer { position: relative; overflow: hidden; }
.shimmer::after {
    content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(132, 186, 234, 0.4), transparent);
    animation: shimmerEffect 3s infinite;
}
@keyframes shimmerEffect { 0% { left: -100%; } 30% { left: 100%; } 100% { left: 100%; } }

/* --- HERO & DIVISOR ESPIGADO LEVE --- */
.hero-section {
    background-color: #84BAEA; height: 80vh; margin-top: 90px;
    display: flex; align-items: center; justify-content: center; text-align: center;
    position: relative;
    /* Zig-zag leve (95%) para não ser agressivo */
    clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 98% 100%, 96% 95%, 94% 100%, 92% 95%, 90% 100%, 88% 95%, 86% 100%, 84% 95%, 82% 100%, 80% 95%, 78% 100%, 76% 95%, 74% 100%, 72% 95%, 70% 100%, 68% 95%, 66% 100%, 64% 95%, 62% 100%, 60% 95%, 58% 100%, 56% 95%, 54% 100%, 52% 95%, 50% 100%, 48% 95%, 46% 100%, 44% 95%, 42% 100%, 40% 95%, 38% 100%, 36% 95%, 34% 100%, 32% 95%, 30% 100%, 28% 95%, 26% 100%, 24% 95%, 22% 100%, 20% 95%, 18% 100%, 16% 95%, 14% 100%, 12% 95%, 10% 100%, 8% 95%, 6% 100%, 4% 95%, 2% 100%, 0% 95%);
}

.main-signature { font-family: 'Yellowtail', cursive; font-size: clamp(3.5rem, 10vw, 6rem); color: #101010; }
.main-subtitle { font-family: 'Bebas Neue', sans-serif; font-size: clamp(1.8rem, 6vw, 2.5rem); color: #101010; letter-spacing: 8px; }

/* --- SECTIONS ESPAÇAMENTO --- */
.dark-section { background-color: #101010; padding: 80px 20px; text-align: center; } 
.inner-container { max-width: 1200px; margin: 0 auto; }
.cursive-title-light { font-family: 'Yellowtail', cursive; font-size: 4rem; color: #F3F3F3; margin-bottom: 30px; }
.paragraph-inter { font-family: 'Inter', sans-serif; font-size: 1.25rem; line-height: 2; color: #F3F3F3; max-width: 850px; margin: 0 auto; font-weight: 300; }

/* Portefólio - Espaçamento ajustado */
.portfolio-grid { display: flex; justify-content: center; flex-wrap: wrap; gap: 40px; margin-top: 40px; }
.card-item { border: 1px solid #F3F3F3; padding: 30px; width: 100%; max-width: 450px; transition: 0.3s; background: #101010; text-align: center; }
.card-item:hover { border-color: #84BAEA; }
.card-name-inter { font-family: 'Inter', sans-serif; font-weight: 600; font-size: 1.8rem; margin: 15px 0; color: #F3F3F3; }

.card-btn-inter { 
    text-decoration: none; font-family: 'Inter', sans-serif; font-weight: 600; 
    color: #F3F3F3; border: 1px solid #F3F3F3; padding: 10px 40px; transition: 0.3s; display: inline-block;
}
.card-btn-inter:hover { background: #84BAEA; color: #101010; border-color: #84BAEA; }

/* --- FOOTER RESTAURADO --- */
.main-footer { background: #101010; border-top: 1px solid #84BAEA; padding: 60px 40px; }
.footer-wrap { max-width: 1400px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 20px; }

.footer-socials { display: flex; gap: 20px; flex-wrap: nowrap; justify-content: center; }
.s-link { 
    width: 45px; height: 45px; border: 1px solid #F3F3F3; color: #F3F3F3;
    display: flex; align-items: center; justify-content: center; text-decoration: none; transition: 0.3s;
}
.s-link:hover { border-color: #84BAEA; color: #84BAEA; }

.f-email { color: #F3F3F3; text-decoration: none; font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; transition: 0.3s; }
.f-email:hover { color: #84BAEA; }

.copy-txt { font-family: 'Bebas Neue', sans-serif; color: #666; letter-spacing: 1px; }

/* --- ENTRANCE ANIMATION --- */
.entrance-anim { opacity: 0; filter: blur(10px); transform: translateY(20px); transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
.entrance-anim.active { opacity: 1; filter: blur(0); transform: translateY(0); }

/* --- PC vs MOBILE --- */
@media (min-width: 951px) {
    * { cursor: none !important; }
    #cursor-custom { display: block; }
    .hamburger-btn, .mobile-menu-overlay { display: none !important; }
}

@media (max-width: 950px) {
    #cursor-custom { display: none !important; }
    .nav-desktop { display: none !important; }
    .hamburger-btn { display: flex; flex-direction: column; gap: 6px; background: none; border: none; }
    .hamburger-btn span { display: block; width: 28px; height: 2px; background: #F3F3F3; }
    .mobile-menu-overlay { 
        display: none; position: absolute; top: 90px; left: 0; width: 100%; background: #101010;
        flex-direction: column; padding: 40px 0; text-align: center; gap: 30px; border-bottom: 2px solid #84BAEA;
    }
    .mobile-menu-overlay.active { display: flex; }
    .hero-section { clip-path: none; height: 70vh; }
}

#scroll-top-btn { position: fixed; bottom: 30px; right: 30px; width: 45px; height: 45px; background: #84BAEA; border: none; border-radius: 50%; display: none; z-index: 9999; }