| COLOR | #6366F1, #8B5CF6→#3B82F6, #10B981, fondos #09090B/#18181B. Gradientes purple→blue en texto hero vía bg-clip-text. | Derivar paleta propia en OKLCH con luminosidad consistente entre pares fondo-texto. |
| FUENTE | Inter, system-ui, sans-serif como familia única. H1 = 48px/800/tracking-tight. Ratio H1:body ≥ 3:1 sin escalas intermedias. | Seleccionar ≥ 1 fuente con carácter. Escala proporcional modulada (Áurea, Tercera Menor, Cuarta Perfecta). Uso de clamp() para fluidez responsiva. |
| LAYOUT | max-w-7xl mx-auto, grid-cols-3 simétrico, text-center items-center universal. Single-page scroll sin routing. | Introducir ≥ 1 composición asimétrica o de ancho fluido. Routing real si hay ≥ 2 contextos temáticos. |
| ESPACIO | p-6/gap-4/gap-6 indiscriminado. Ratio macro:micro < 3:1. Hero con padding vacío sobredimensionado. | Ratio macro:micro ≥ 4:1. Variación intencional en spacing. Valores "impuros" (12px, 20px, 40px) permitidos si sirven al ritmo. |
| SUPERFICIE | rounded-xl/rounded-2xl + border-gray-200 + shadow-md en todo. "Cards Everywhere": todo envuelto en contenedores idénticos. | Radios, sombras y bordes diferenciados por nivel de affordance. Sombras coloreadas o multicapa cuando la atmósfera lo demande. |
| ÍCONOS | Emojis Unicode (🔒⚡🚀) como íconos funcionales. Lucide React / Heroicons sin custom. SVG blobs decorativos sin propósito. URLs de Unsplash genéricas. | 0 emojis funcionales. Si se usa una librería de íconos, complementar con assets propios o variantes. 0 ornamentación sin función informativa. |
| MOVIMIENTO | transition-all duration-300 ease-in-out universal. Fade-in-up en todo al scroll sin stagger. Framer Motion importado para animaciones triviales. | Transiciones selectivas por propiedad (no transition-all). Duración y easing variados según dirección (ease-out para entradas, ease-in para salidas). Stagger secuencial entre elementos hermanos. |
| ESTADOS | hover:scale-105/hover:-translate-y-1 en elementos no interactivos. focus:outline-none sin compensación. Skeleton screens en componentes triviales. Toasts sin categorización de severidad. | Hover SOLO en elementos clicables. :focus-visible en todo elemento focusable. Skeleton screens solo para carga de página completa. Toasts con color diferenciado por tipo (error/success/warning). |
| NAVEGACIÓN | Logo izq + links centro + CTA "Get Started" derecha. Footer de 4 columnas ("Producto", "Compañía", "Recursos", "Legal") con links href="#". | 0 links a #. Footer con contenido real. Navbar que responda a la arquitectura de información del proyecto, no al arquetipo genérico. |
| COPY | "Get Started", "Learn More", "Try for Free", "Unlock your potential", "Elevate your workflow". Feature lists = [Emoji] + [Bold] + [1 línea genérica]. "Something went wrong" como error global. Testimonios de "Acme Corp". | CTAs que describan la acción concreta del dominio. Copy que contenga jerga específica del nicho. Mensajes de error contextuales. 0 testimonios ficticios presentados como reales. |