/* ==========================================================
   OSITronix - animations.css
   Version: 1.0
   Animation Library
   Autor  : Luís Veiga
   ========================================================== */

/* ---------- Global ---------- */

*{
    transition:
        color .35s ease,
        background-color .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

/* ---------- Hero ---------- */

.hero-logo{
    animation:heroFade 1.6s ease forwards;
}

#hero-symbol{
    opacity:0;
    transform:scale(.6) rotate(-15deg);
    animation:symbolIntro 1.2s ease .2s forwards;
}

/* ------------------------------------------------------------ */
/* Animacoes do hero antigo DESATIVADAS.                         */
/* O novo hero (mockup) usa .hero-headline / .hero-desc /        */
/* .btn-hero-primary, nao h1/h2/p soltos. Manter opacity:0 aqui  */
/* prendia o texto invisivel. Revelacao agora e via style.css.   */
/* ------------------------------------------------------------ */

.button-primary:hover{
    transform:translateY(-3px);
}

/* ---------- Navbar ---------- */

.navbar{
    animation:navDrop .8s ease;
}

/* ---------- Cards ---------- */

/* .card NAO recebe mais opacity:0 aqui (prendia os cards        */
/* invisiveis, pois cardReveal nao era garantido no novo DOM).   */
/* Hover preservado.                                             */
.card:hover,
.tech-grid div:hover{

    transform:translateY(-8px) scale(1.02);

}

/* ---------- Gold Glow ---------- */

.gold-glow{

    animation:goldPulse 2.5s infinite;

}

/* ---------- Cursor ---------- */

.pointer{
    cursor:pointer;
}

/* ---------- Keyframes ---------- */

@keyframes heroFade{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }

}

@keyframes symbolIntro{

    from{

        opacity:0;

        transform:
            scale(.6)
            rotate(-15deg);

    }

    to{

        opacity:1;

        transform:
            scale(1)
            rotate(0);

    }

}

@keyframes titleIntro{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes subtitleIntro{

    from{

        opacity:0;

        transform:translateY(15px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes buttonIntro{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes navDrop{

    from{

        opacity:0;

        transform:translateY(-60px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes cardReveal{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes goldPulse{

    0%{

        text-shadow:
            0 0 5px rgba(214,163,32,.25);

    }

    50%{

        text-shadow:
            0 0 25px rgba(214,163,32,.75);

    }

    100%{

        text-shadow:
            0 0 5px rgba(214,163,32,.25);

    }

}

/* ---------- Reduced Motion ---------- */

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}
