# creeer Landing — Additions: Header + Cómo empezar + Footer **Date:** 2026-07-21 **Branch:** `feat/header-comoempezar-footer` **Builds on:** `docs/superpowers/specs/2026-07-20-creeer-landing-design.md` (original 7-section landing, already implemented). ## Goal Complete the page's structural chrome and its conversion on-ramp by adding three pieces to the existing one-page landing: 1. A minimal sticky **Header** (wordmark + persistent CTA). 2. A new **"Cómo empezar"** section (3 client-facing steps ending in a direct WhatsApp link). 3. A slim **Footer**. No new architecture: these reuse the existing primitives, tokens, motion pattern, and content-in-`lib/content.ts` convention. Still a statically-exported Next.js 14 site — no backend, no forms, contact via direct links only. ## Global constraints (inherited — apply to every piece here) - **Wordmark** always lowercase `creeer.`, rendered via the shared `Wordmark` primitive (never re-implemented, never uppercased). - **Paleta (tokens):** `ink #0A1F44` · `gold #B8901f` (accents on LIGHT) · `gold-bright #D4AF37` (accents on DARK) · `base #FBFAF7` (light bg) · `cream #F5EBD0` (text on dark) · `muted`/`muted-dark`. - **Tipografía híbrida:** Georgia italic = voz de marca (wordmark + citas + títulos de sección); Inter = body/UI. - **Sin backend, sin formularios** — contacto solo por enlaces directos (WhatsApp/mailto/LinkedIn). - **Un único `

`** en toda la página — vive en el Hero. New pieces use `

`/`

` or no heading; Header/Footer carry no heading. - **Todo el copy** vive en `lib/content.ts` (nuevas claves `comoEmpezar` y `footer`). - **Voz** en segunda persona, sin jerga corporativa. **Idioma** español. - **Todas las animaciones Framer Motion** se desactivan con `prefers-reduced-motion` via `usePrefersReducedMotion()` + `motionProps(reduced)` (same pattern the 7 sections already use). - **`output: export`** — el build estático debe seguir produciendo `out/`. ## File structure (additions) ``` components/ ├── layout/ │ ├── Header.tsx # NEW — sticky bar (server component, pure CSS sticky) │ ├── Footer.tsx # NEW — slim footer strip │ └── __tests__/ │ ├── Header.test.tsx # NEW │ └── Footer.test.tsx # NEW └── sections/ ├── ComoEmpezar.tsx # NEW — section 07 (client component, motion pattern) └── __tests__/ └── ComoEmpezar.test.tsx # NEW lib/content.ts # ADD `comoEmpezar` and `footer` keys app/page.tsx # compose Header + ComoEmpezar + Footer ``` ## Component 1 — Header (minimal sticky) **Interface:** `Header()` at `components/layout/Header.tsx`. No props. Server component (no state, no JS — `position: sticky` is pure CSS). **Layout & style:** - `
` with `sticky top-0 z-50`, light background (`bg-base/80` or `bg-pure/80`) + `backdrop-blur` + a subtle bottom border (`border-b border-ink/10`). The light bar stays legible while scrolling over both light and dark sections. - A `Container`-width inner row, `flex items-center justify-between`, vertical padding ~`py-3`/`py-4`. - **Left:** `` wrapped in an `` (or the page top) — the wordmark ink color is the default (dark on the light bar). - **Right:** the `CTA` primitive, `variant="light"`, label from `cierre.cta` (`"Define tu siguiente movimiento"` + `→`), `href="#contacto"`. On small screens the CTA stays but may use a slightly smaller padding/label; the wordmark + CTA layout is identical on mobile (no menu, no hamburger). - Semantic `
`; wrap the CTA link region in `