/* ==========================================
   O ÚLTIMO BRASILEIRO - Base & Reset Premium
   ========================================== */

/* === RESET === */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: var(--primary) var(--bg-darker);
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-darker); }
::-webkit-scrollbar-thumb { 
    background: var(--primary); 
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: var(--primary-light); }

body {
    font-family: var(--font-main);
    line-height: 1.6;
    color: var(--text-primary);
    background-color: var(--bg-dark);
    min-height: 100vh;
    overflow-x: hidden;
    cursor: default;
    position: relative;
}

/* Aurora background animado - efeito de outro mundo com profundidade */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: 
        radial-gradient(ellipse at 15% 10%, rgba(233, 69, 96, 0.06) 0%, transparent 45%),
        radial-gradient(ellipse at 85% 15%, rgba(0, 212, 255, 0.06) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 90%, rgba(168, 85, 247, 0.05) 0%, transparent 45%),
        radial-gradient(ellipse at 30% 60%, rgba(255, 215, 0, 0.03) 0%, transparent 40%),
        radial-gradient(ellipse at 70% 40%, rgba(34, 255, 136, 0.03) 0%, transparent 40%),
        radial-gradient(ellipse at 45% 30%, rgba(233, 69, 96, 0.02) 0%, transparent 50%),
        radial-gradient(ellipse at 60% 70%, rgba(0, 212, 255, 0.02) 0%, transparent 50%);
    background-size: 200% 200%, 200% 200%, 200% 200%, 200% 200%, 200% 200%, 200% 200%, 200% 200%;
    animation: auroraShift 20s ease-in-out infinite alternate, auroraDrift 25s ease-in-out infinite alternate;
    pointer-events: none;
    will-change: transform, opacity;
}

@keyframes auroraShift {
    0% { 
        background-position: 0% 0%, 100% 0%, 50% 100%, 30% 60%, 70% 40%, 0% 50%, 100% 50%;
        opacity: 0.6;
    }
    25% { 
        background-position: 15% 5%, 80% 8%, 35% 92%, 25% 55%, 75% 45%, 20% 40%, 80% 60%;
        opacity: 0.9;
    }
    50% { 
        background-position: 5% 3%, 90% 12%, 55% 88%, 40% 58%, 60% 42%, 40% 30%, 60% 70%;
        opacity: 0.7;
    }
    75% {
        background-position: 20% 8%, 70% 5%, 30% 95%, 20% 52%, 80% 48%, 60% 60%, 40% 40%;
        opacity: 0.85;
    }
    100% { 
        background-position: 10% 5%, 75% 10%, 40% 95%, 35% 55%, 65% 45%, 50% 50%, 50% 50%;
        opacity: 0.6;
    }
}

@keyframes auroraDrift {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.05) rotate(0.5deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* Grid pattern cyberpunk - mais refinado com scanning lines */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background-image: 
        /* Grid principal */
        linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px),
        /* Grid secundário mais fino */
        linear-gradient(rgba(233, 69, 96, 0.008) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.008) 1px, transparent 1px);
    background-size: 60px 60px, 60px 60px, 300px 300px, 300px 300px;
    background-position: 0 0, 0 0, 0 0, 0 0;
    animation: gridScan 8s linear infinite;
    pointer-events: none;
    mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.8) 0%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,0.8) 0%, transparent 70%);
}

@keyframes gridScan {
    0% { background-position: 0 0, 0 0, 0 0, 0 0; }
    100% { background-position: 0 60px, 60px 0, 0 300px, 300px 0; }
}

body.scroll-lock { overflow: hidden; }

/* === PARTICLES CANVAS === */
#particles-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

/* === SEÇÕES EM GERAL === */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 6rem 2rem;
    position: relative;
    z-index: 1;
}

/* === TÍTULOS DE SEÇÃO === */
.section-title {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
}

.section-title h2 {
    font-size: 3rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 4px;
    background: linear-gradient(135deg, var(--primary), var(--secondary), var(--purple), var(--accent));
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    animation: titleGradient 5s ease-in-out infinite alternate;
    filter: drop-shadow(0 0 30px rgba(233, 69, 96, 0.2));
}

@keyframes titleGradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.section-title .title-line {
    display: block;
    width: 100px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--secondary), var(--purple), var(--primary));
    background-size: 300% 100%;
    margin: 1.2rem auto 0;
    border-radius: 2px;
    position: relative;
    animation: titleLineShift 4s linear infinite;
}

@keyframes titleLineShift {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

.section-title .title-line::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--secondary), var(--purple));
    filter: blur(12px);
    opacity: 0.7;
}

/* === DIVISORES ENTRE SEÇÕES === */
.section-divider {
    position: relative;
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        var(--primary) 15%, 
        var(--secondary) 50%, 
        var(--purple) 85%, 
        transparent 100%
    );
    opacity: 0.3;
}

/* === FOOTER === */
footer {
    background: linear-gradient(180deg, transparent, var(--bg-darker));
    text-align: center;
    padding: 4rem 2rem 3rem;
    border-top: 1px solid var(--border-subtle);
    position: relative;
    z-index: 1;
}

footer::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--primary), var(--secondary), var(--purple), transparent);
}

footer p {
    color: var(--text-muted);
    font-size: 0.9rem;
    letter-spacing: 1px;
}