diff --git a/app/page.tsx b/app/page.tsx
index 8d7b607..83dd8e3 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,4 +1,5 @@
import { Header } from '@/components/layout/Header';
+import { Footer } from '@/components/layout/Footer';
import { Hero } from '@/components/sections/Hero';
import { FraseAncla } from '@/components/sections/FraseAncla';
import { ParaQuien } from '@/components/sections/ParaQuien';
@@ -31,6 +32,7 @@ export default function Home() {
+
>
);
}
diff --git a/components/layout/Footer.tsx b/components/layout/Footer.tsx
new file mode 100644
index 0000000..26c473e
--- /dev/null
+++ b/components/layout/Footer.tsx
@@ -0,0 +1,15 @@
+import { Wordmark } from '@/components/primitives/Wordmark';
+import { Container } from '@/components/primitives/Container';
+import { footer } from '@/lib/content';
+
+export function Footer() {
+ return (
+
+ );
+}
diff --git a/components/layout/__tests__/Footer.test.tsx b/components/layout/__tests__/Footer.test.tsx
new file mode 100644
index 0000000..40de2d9
--- /dev/null
+++ b/components/layout/__tests__/Footer.test.tsx
@@ -0,0 +1,15 @@
+import { render, screen } from '@testing-library/react';
+import { describe, it, expect } from 'vitest';
+import { Footer } from '../Footer';
+
+describe('', () => {
+ it('renders the tagline and the legal line', () => {
+ render();
+ expect(screen.getByText('tu estratega de crecimiento')).toBeInTheDocument();
+ expect(screen.getByText(/© 2026 creeer/)).toBeInTheDocument();
+ });
+ it('does not introduce a second h1', () => {
+ render();
+ expect(screen.queryByRole('heading', { level: 1 })).toBeNull();
+ });
+});
diff --git a/lib/content.ts b/lib/content.ts
index 43a116b..0d29c21 100644
--- a/lib/content.ts
+++ b/lib/content.ts
@@ -88,3 +88,8 @@ export const cierre = {
export const header = {
cta: 'Hablemos', // short nav CTA → #contacto (the full CTA lives in Hero/Cierre)
};
+
+export const footer = {
+ tagline: 'tu estratega de crecimiento',
+ legal: '© 2026 creeer',
+};