/* Animações e micro-interações */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal.show{opacity:1;transform:none}

/* ensure buttons show pointer */
.btn{cursor:pointer}

/* Smooth floating for hero visual */
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
.hero-visual img{animation:float 8s ease-in-out infinite}

/* Hover micro interactions */
.btn-primary:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(59,130,246,0.18)}

/* Mobile menu - also support nav-links id/class used in HTML */
#navLinks.open, .nav-links.open{display:flex;flex-direction:column;position:absolute;top:64px;right:5%;background:rgba(255,255,255,0.98);padding:1rem;border-radius:12px;box-shadow:0 10px 40px rgba(2,6,23,0.08)}

/* small fade in for logo */
.logo{transition:transform .35s ease, opacity .35s ease}
.logo:hover{transform:translateY(-2px)}
