feat: rebrand a Manual de Identidad Visual v1.0
Migra todo el sitio a la marca oficial aprobada por la dueña: - Logotipo cre≡er (el símbolo ≡ reemplaza la 'e' central, en dorado) - Paleta: Azul Profundo #0A1D5D + Dorado Estratégico #C4942E + Blanco + neutros - Tipografía: Aptos (Inter como fallback web), fin del sistema híbrido Georgia/Inter - Tagline 'CLARIDAD · DIRECCIÓN · CRECIMIENTO' + eslogan 'Estrategia que transforma.' Componentes, tokens de Tailwind, lib/content.ts, docs (dueña-directrices + spec) y tests actualizados. Typecheck, lint, 27/27 tests y build estática verdes. Basado en docs/branding.jpeg (Manual v1.0, mayo 2026).
This commit is contained in:
1 parent
8fdfc1be5c
commit
60d3f22e6b
22 files changed
+212
-181
No files matched your search
@@ -4,11 +4,11 @@ import { footer } from '@/lib/content';
|
||||
|
||||
export function Footer() {
|
||||
return (
|
||||
<footer className="bg-bg-dark text-cream border-t border-cream/10">
|
||||
<footer className="bg-azul-profundo text-white border-t border-white/10">
|
||||
<Container className="flex flex-col items-center gap-3 py-10 text-center md:flex-row md:justify-between md:text-left">
|
||||
<Wordmark size="sm" onDark />
|
||||
<p className="text-sm text-muted-dark">{footer.tagline}</p>
|
||||
<p className="text-xs text-muted-dark">{footer.legal}</p>
|
||||
<p className="text-sm text-gris-medio">{footer.tagline}</p>
|
||||
<p className="text-xs text-gris-medio">{footer.legal}</p>
|
||||
</Container>
|
||||
</footer>
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ import { header } from '@/lib/content';
|
||||
|
||||
export function Header() {
|
||||
return (
|
||||
<header className="sticky top-0 z-50 border-b border-ink/10 bg-base/80 backdrop-blur">
|
||||
<header className="sticky top-0 z-50 border-b border-azul-profundo/10 bg-white/80 backdrop-blur">
|
||||
<Container className="flex items-center justify-between py-3">
|
||||
<a href="#top" aria-label="creeer — inicio">
|
||||
<Wordmark size="md" />
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Footer } from '../Footer';
|
||||
describe('<Footer />', () => {
|
||||
it('renders the tagline and the legal line', () => {
|
||||
render(<Footer />);
|
||||
expect(screen.getByText('tu estratega de crecimiento')).toBeInTheDocument();
|
||||
expect(screen.getByText('CLARIDAD · DIRECCIÓN · CRECIMIENTO')).toBeInTheDocument();
|
||||
expect(screen.getByText(/© 2026 creeer/)).toBeInTheDocument();
|
||||
});
|
||||
it('does not introduce a second h1', () => {
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Header } from '../Header';
|
||||
describe('<Header />', () => {
|
||||
it('renders the wordmark', () => {
|
||||
const { container } = render(<Header />);
|
||||
expect(container.textContent).toContain('creeer');
|
||||
expect(container.textContent).toContain('cre≡er');
|
||||
});
|
||||
it('renders a persistent CTA linking to the contact section', () => {
|
||||
render(<Header />);
|
||||
|
||||
Reference in new issue
Block a user