@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.animate-marquee { animation: marquee 32s linear infinite; width: max-content; }

@keyframes fadeUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
.animate-fade-up { animation: fadeUp .8s cubic-bezier(.16,1,.3,1) both; }

@keyframes float { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-16px) scale(1.05); } }
.animate-float { animation: float 6s ease-in-out infinite; }

@keyframes glow { 0%,100% { box-shadow: 0 0 20px rgba(225,6,0,0.5), 0 0 40px rgba(225,6,0,0.2); } 50% { box-shadow: 0 0 30px rgba(225,6,0,0.8), 0 0 60px rgba(225,6,0,0.35); } }
.animate-glow { animation: glow 3s ease-in-out infinite; }

html { scroll-behavior: smooth; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #050505; }
::-webkit-scrollbar-thumb { background: linear-gradient(#E10600, #8B0000); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #E10600; }

body { font-family: 'Inter', system-ui, sans-serif; margin: 0; -webkit-font-smoothing: antialiased; }

/* Mejor render de select */
select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
select option { background: #111; color: #fff; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(24px); transition: all .9s cubic-bezier(.16,1,.3,1); }
.reveal.reveal-active { opacity: 1; transform: translateY(0); }