:root {
  /* Color corporativo potente tipo startup (indigo intenso) */
  --lesly-primary: #4338CA;
  --lesly-primary-soft: #EDEBFF;
  --lesly-primary-dark: #312E81;
}

body {
  font-family: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  font-weight: 400;
}

.logo-font {
  font-family: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out both;
}

.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.btn-primary {
  background: var(--lesly-primary);
  color: #fff;
}

.btn-primary:hover {
  background: #3730a3;
}

.btn-secondary {
  background: #fff;
  color: #111827;
  border: 1px solid #d1d5db;
}

.btn-secondary:hover {
  background: #f9fafb;
}

.bg-noise {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
