# Reformix — Landing Page

> Landing page pública de **Reformix**, la plataforma que conecta a propietarios con reformistas de confianza. Presupuesto en 5 minutos, render por WhatsApp. Construida con **Next.js + TypeScript + Tailwind CSS v4**.

## 🚀 Inicio rápido

```bash
# Instalar dependencias
npm install

# Iniciar servidor de desarrollo
npm run dev
```

Abre [http://localhost:3000](http://localhost:3000) en tu navegador para ver el resultado.

---

## 🛠 Stack tecnológico

| Capa | Tecnología |
|---|---|
| Framework | Next.js (App Router) |
| Lenguaje | TypeScript 5 |
| Estilos | Tailwind CSS v4 (`@import "tailwindcss"` + `@theme`) |
| Componentes | React 19 (Server + Client Components) |
| Fuente | Inter (Google Fonts, variable) |

---

## 📁 Arquitectura del proyecto

```text
landing-page/
├── src/
│   ├── app/
│   │   ├── globals.css          # Design system: @theme tokens + @layer utilities
│   │   ├── layout.tsx           # Root layout con fuente Inter y meta tags
│   │   └── page.tsx             # Composición de página — solo imports de componentes
│   │
│   └── components/
│       ├── Navbar/              # Barra de navegación (actualmente comentada)
│       ├── Hero/                # Sección principal: headline + LeadForm interno
│       ├── ReformaSlider/       # Comparador antes/después interactivo (drag)
│       ├── Features/            # Sección "Cómo funciona" — 3 pasos numerados
│       ├── Pricing/             # Tabla de servicios: Presupuesto · Reforma · Integral
│       ├── ContactForm/         # Formulario de contacto con validación y testimonial
│       └── Footer/              # Links, redes sociales y copyright
```

### Convención de componentes

- Cada componente vive en su propia carpeta `ComponentName/ComponentName.tsx`.
- Los sub-componentes de uso exclusivo (ej. `LeadForm`) se definen en el mismo archivo del padre, **no** como archivos separados.
- `page.tsx` solo importa componentes de primer nivel — sin JSX estructural inline.

---

## 🎨 Design System

Definido en `globals.css` mediante el bloque `@theme` de Tailwind v4:

- **Colores:** Escala negro/blanco de alto contraste. Sin acentos de color innecesarios.
- **Tipografía:** Inter variable — pesos 400 a 900, tracking ajustado para headlines impactantes.
- **Animaciones:** Entrada por scroll con `IntersectionObserver` + clase `reveal`. Micro-interacciones en hovers de cards y botones.
- **Responsive:** Mobile-first. Grid de 1 columna en móvil, 2–3 en desktop.

---

## 🧩 Secciones de la landing

| Sección | Descripción |
|---|---|
| **Hero** | Headline + formulario de captación de lead (nombre, email, empresa, teléfono) |
| **ReformaSlider** | Comparador antes/después con drag handle — 3 espacios: Cocina, Baño, Salón |
| **Features** | Explicación del proceso en 3 pasos: llama → foto → presupuesto |
| **Pricing** | 3 niveles de servicio con toggle mensual/anual y features detalladas |
| **ContactForm** | Formulario completo con datos de contacto y testimonial de cliente real |
| **Footer** | Links de navegación, redes sociales, estado operativo y copyright |

---

## 📝 Scripts disponibles

```bash
npm run dev      # Desarrollo con Turbopack (hot reload)
npm run build    # Build de producción optimizado
npm run start    # Servidor de producción con la build generada
npm run lint     # ESLint — análisis estático del código
```

---

## 💶 Panel y motor de presupuesto

- **`/panel`** — listado de leads y detalle (`/panel/[id]`) con presupuesto desglosado y botón *Recalcular*.
- **`/panel/precios`** — tabla de precios editable (config general + catálogo por categoría) e importación de catálogo vía CSV.
- **Motor** (`src/budget/`) — función pura `computeBudget` que calcula el presupuesto por partidas a partir de medidas mínimas + calidad, escalando con más datos.

---

## 🔗 Repositorio

GitHub: [McGregory99/reformix-hackaton](https://github.com/McGregory99/reformix-hackaton)

---

*Desarrollado para el hackathon interno de Reformix.*
