From 32bf6c828c162764abf8f0fa306640cd98d1d5c2 Mon Sep 17 00:00:00 2001 From: Feedback Studios Date: Tue, 16 Jun 2026 04:53:04 +0000 Subject: [PATCH] feat: full Fase 0 landing (services, advantage, packages, process, CTA) --- app/globals.css | 212 ++++++++++++++++++++---------------------------- app/page.tsx | 200 ++++++++++++++++++++++++++++++++++++++------- 2 files changed, 259 insertions(+), 153 deletions(-) diff --git a/app/globals.css b/app/globals.css index 212b42c..106737b 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,156 +1,122 @@ :root { --bg: #0a0a0b; + --bg-2: #101013; --fg: #fafafa; --muted: #a1a1aa; + --line: rgba(255, 255, 255, 0.1); --accent: #6366f1; --accent-2: #22d3ee; - --maxw: 1100px; + --maxw: 1140px; } -* { - box-sizing: border-box; - margin: 0; - padding: 0; -} +* { box-sizing: border-box; margin: 0; padding: 0; } + +html { scroll-behavior: smooth; } -html, body { background: var(--bg); color: var(--fg); - font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, - Helvetica, Arial, sans-serif; + font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; + line-height: 1.5; } -a { - color: inherit; - text-decoration: none; -} +a { color: inherit; text-decoration: none; } -.hero { - min-height: 100dvh; - display: flex; - flex-direction: column; - padding: clamp(20px, 4vw, 40px); - position: relative; - overflow: hidden; -} +.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 clamp(20px, 5vw, 40px); width: 100%; } -.hero::before { - content: ""; - position: absolute; - inset: 0; - background: radial-gradient( - 60% 50% at 72% 0%, - rgba(99, 102, 241, 0.28), - transparent 70% - ), - radial-gradient(40% 40% at 0% 100%, rgba(34, 211, 238, 0.12), transparent 70%); - pointer-events: none; -} - -.nav { - display: flex; - justify-content: space-between; - align-items: center; - position: relative; - z-index: 1; -} - -.logo { - font-weight: 700; - letter-spacing: -0.02em; -} - -.nav-cta { - font-size: 0.9rem; - color: var(--muted); -} - -.content { - flex: 1; - display: flex; - flex-direction: column; - justify-content: center; - max-width: var(--maxw); - width: 100%; - margin: 0 auto; - position: relative; - z-index: 1; -} - -.eyebrow { - text-transform: uppercase; - letter-spacing: 0.18em; - font-size: 0.78rem; - color: var(--accent-2); - margin-bottom: 1.2rem; -} - -h1 { - font-size: clamp(2.4rem, 6.5vw, 5rem); - line-height: 1.02; - letter-spacing: -0.03em; - font-weight: 800; -} - -h1 span { +.grad { background: linear-gradient(90deg, var(--accent), var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; } -.sub { - margin-top: 1.6rem; - max-width: 620px; - font-size: clamp(1rem, 1.6vw, 1.25rem); - color: var(--muted); - line-height: 1.6; +/* HEADER */ +.hd { + position: sticky; top: 0; z-index: 50; + display: flex; justify-content: space-between; align-items: center; + padding: 16px clamp(20px, 5vw, 40px); + background: rgba(10, 10, 11, 0.7); + backdrop-filter: blur(12px); + border-bottom: 1px solid var(--line); } +.logo { font-weight: 700; letter-spacing: -0.02em; } +.hd-nav { display: flex; gap: 1.6rem; align-items: center; font-size: 0.92rem; } +.hd-nav a { color: var(--muted); transition: color 0.15s; } +.hd-nav a:hover { color: var(--fg); } +.hd-cta { color: var(--fg) !important; border: 1px solid var(--line); padding: 0.5rem 1rem; border-radius: 999px; } +@media (max-width: 640px) { .hd-nav a:not(.hd-cta) { display: none; } } -.actions { - margin-top: 2.4rem; - display: flex; - gap: 1rem; - flex-wrap: wrap; +/* HERO */ +.hero { position: relative; overflow: hidden; padding: clamp(80px, 14vw, 160px) 0 clamp(60px, 9vw, 110px); } +.hero::before { + content: ""; position: absolute; inset: 0; pointer-events: none; + background: radial-gradient(55% 50% at 72% -10%, rgba(99, 102, 241, 0.28), transparent 70%), + radial-gradient(40% 45% at 0% 110%, rgba(34, 211, 238, 0.12), transparent 70%); } +.hero .wrap { position: relative; z-index: 1; } +.eyebrow { text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.76rem; color: var(--accent-2); margin-bottom: 1.1rem; } +h1 { font-size: clamp(2.3rem, 6vw, 4.6rem); line-height: 1.04; letter-spacing: -0.03em; font-weight: 800; } +.sub { margin-top: 1.5rem; max-width: 620px; font-size: clamp(1rem, 1.5vw, 1.2rem); color: var(--muted); } +.actions { margin-top: 2.2rem; display: flex; gap: 1rem; flex-wrap: wrap; } -.btn { - padding: 0.85rem 1.5rem; - border-radius: 999px; - font-weight: 600; - font-size: 0.95rem; - transition: transform 0.15s ease, opacity 0.15s ease; -} +.btn { padding: 0.85rem 1.5rem; border-radius: 999px; font-weight: 600; font-size: 0.95rem; transition: transform 0.15s; display: inline-block; } +.btn:hover { transform: translateY(-2px); } +.btn.primary { background: linear-gradient(90deg, var(--accent), var(--accent-2)); color: #04060a; } +.btn.ghost { border: 1px solid var(--line); color: var(--fg); } +.btn.big { padding: 1.05rem 2.2rem; font-size: 1.05rem; } -.btn:hover { - transform: translateY(-2px); -} +/* PROOF STRIP */ +.strip { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: 22px clamp(20px, 5vw, 40px); color: var(--muted); font-size: 0.9rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } +.strip .dot { opacity: 0.4; } -.btn.primary { - background: linear-gradient(90deg, var(--accent), var(--accent-2)); - color: #04060a; -} +/* BANDS */ +.band { padding: clamp(56px, 9vw, 110px) 0; } +.band.alt { background: var(--bg-2); } +.band h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); letter-spacing: -0.02em; font-weight: 800; } +.lead { margin-top: 0.9rem; max-width: 640px; color: var(--muted); font-size: clamp(1rem, 1.4vw, 1.15rem); } +.lead strong { color: var(--fg); } -.btn.ghost { - border: 1px solid rgba(255, 255, 255, 0.18); - color: var(--fg); -} +/* GRIDS + CARDS */ +.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 2.6rem; } +.grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; margin-top: 2.6rem; } +@media (max-width: 900px) { .grid3, .grid4 { grid-template-columns: repeat(2, 1fr); } } +@media (max-width: 560px) { .grid3, .grid4 { grid-template-columns: 1fr; } } -.foot { - position: relative; - z-index: 1; - color: var(--muted); - font-size: 0.8rem; - padding-top: 2rem; +.card { + background: rgba(255, 255, 255, 0.025); + border: 1px solid var(--line); + border-radius: 16px; + padding: 1.5rem; + transition: border-color 0.2s, transform 0.2s; } +.card:hover { border-color: rgba(99, 102, 241, 0.5); transform: translateY(-3px); } +.card h3 { font-size: 1.15rem; margin-bottom: 0.5rem; letter-spacing: -0.01em; } +.card p { color: var(--muted); font-size: 0.96rem; } +.card .step { font-size: 0.85rem; font-weight: 700; color: var(--accent-2); letter-spacing: 0.1em; } -@media (max-width: 640px) { - .actions { - flex-direction: column; - } - .btn { - text-align: center; - } -} +.vertical { display: grid; gap: 2rem; } + +/* PACKAGES */ +.pkg { position: relative; background: rgba(255, 255, 255, 0.025); border: 1px solid var(--line); border-radius: 16px; padding: 1.6rem 1.4rem; } +.pkg.featured { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 20px 50px -20px rgba(99, 102, 241, 0.5); } +.pkg .tag { position: absolute; top: -11px; left: 1.4rem; background: linear-gradient(90deg, var(--accent), var(--accent-2)); color: #04060a; font-size: 0.7rem; font-weight: 700; padding: 0.25rem 0.7rem; border-radius: 999px; } +.pkg h3 { font-size: 1.2rem; } +.pkg .who { color: var(--muted); font-size: 0.85rem; margin: 0.3rem 0 1rem; } +.pkg ul { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; } +.pkg li { font-size: 0.92rem; padding-left: 1.4rem; position: relative; } +.pkg li::before { content: "→"; position: absolute; left: 0; color: var(--accent-2); } + +/* CTA */ +.cta { position: relative; overflow: hidden; padding: clamp(70px, 11vw, 130px) 0; text-align: center; } +.cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 80% at 50% 0%, rgba(99, 102, 241, 0.22), transparent 70%); pointer-events: none; } +.cta .wrap { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; } +.cta h2 { font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -0.02em; } +.cta .lead { margin-left: auto; margin-right: auto; text-align: center; } +.cta .btn { margin-top: 2rem; } + +/* FOOTER */ +.ft { border-top: 1px solid var(--line); padding: 2.5rem 0; } +.ft .wrap { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 0.85rem; } +.ft .muted { color: var(--muted); } diff --git a/app/page.tsx b/app/page.tsx index 9aec141..3bea3a5 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,38 +1,178 @@ +const services = [ + { t: "Web & Desarrollo", d: "Sitios en código, rápidos y editables. Sin plantillas genéricas." }, + { t: "SEO", d: "Posicionamiento técnico y de contenido, con reporting real." }, + { t: "Paid Ads", d: "Google, Meta, TikTok, LinkedIn — creatividad + optimización con IA." }, + { t: "Contenido", d: "Artículos y piezas optimizadas para Google y para IA (GEO)." }, + { t: "Diseño & Marca", d: "Identidad y dirección de arte con criterio, no plantillas." }, + { t: "Automatización", d: "Flujos que ahorran horas: leads, reporting, operativa." }, +]; + +const pillars = [ + { k: "Más rápido", d: "Entregamos en días lo que una agencia tradicional tarda semanas." }, + { k: "Más medible", d: "Cada acción con su dashboard y su resultado, no humo." }, + { k: "Mejor coste", d: "Nuestra plataforma hace el trabajo pesado. Pagas resultado, no horas." }, +]; + +const packages = [ + { n: "Sitio AI-native", who: "Necesitas web ya", f: ["Web editable en código", "SEO base + tracking", "Listo en tiempo récord"] }, + { n: "Base", who: "Estás arrancando", f: ["Fundamentos SEO", "Contenido inicial", "Analítica"] }, + { n: "Motor", who: "Quieres crecer", f: ["Ads + SEO + contenido", "Dashboard de resultados", "Optimización mensual"], featured: true }, + { n: "Partner", who: "Quieres escalar", f: ["Full-stack de crecimiento", "Automatización a medida", "Prioridad y plataforma"] }, +]; + +const steps = [ + { n: "01", t: "Diagnóstico", d: "Analizamos tu negocio, tu mercado y tus números." }, + { n: "02", t: "Sistema", d: "Montamos el motor: web, canales, automatización." }, + { n: "03", t: "Crecimiento", d: "Iteramos sobre datos. Tú ves el resultado en tu dashboard." }, +]; + export default function Home() { return ( -
- + + -
-

Agencia de marketing AI-native

-

- La mayoría de agencias alquilan sus herramientas. -
- Nosotros construimos la nuestra. -

-

- Estrategia humana + nuestra propia plataforma de IA. Web, SEO, ads y - contenido — más rápido, más medible y a mejor coste que una agencia - tradicional. -

-
- - Habla con nosotros - - - Ver resultados - +
+ {/* HERO */} +
+
+

Agencia de marketing AI-native

+

+ La mayoría de agencias alquilan sus herramientas. +
+ Nosotros construimos la nuestra. +

+

+ Estrategia humana + nuestra propia plataforma de IA. Web, SEO, ads + y contenido — más rápido, más medible y a mejor coste que una + agencia tradicional. +

+ +
+
+ + {/* PROOF STRIP */} +
+ +60 marcas confían en nosotros + · + Web · SEO · Ads · Contenido + · + Resultados medibles +
+ + {/* VENTAJA INJUSTA */} +
+
+

Nuestra ventaja injusta

+

+ No alquilamos herramientas ni envolvemos un ChatGPT. Operamos tu + marketing sobre nuestra propia plataforma de IA. +

+
+ {pillars.map((p) => ( +
+

{p.k}

+

{p.d}

+
+ ))} +
+
+
+ + {/* SERVICIOS */} +
+
+

Qué hacemos

+

Todo lo que necesita tu crecimiento, bajo un mismo techo y un mismo sistema.

+
+ {services.map((s) => ( +
+

{s.t}

+

{s.d}

+
+ ))} +
+
+
+ + {/* PROFUNDIDAD POR SECTOR */} +
+
+
+

Soluciones a medida

+

Generalistas por fuera, profundos por dentro

+

+ Para sectores exigentes construimos soluciones específicas sobre + nuestra plataforma — por ejemplo, clínicas estéticas con captación, + seguimiento y operativa a medida. Profundidad que un generalista no tiene. +

+
+
+
+ + {/* PAQUETES */} +
+
+

Paquetes

+

Cada uno con un resultado prometido y su dashboard. No listas de tareas.

+
+ {packages.map((p) => ( +
+ {p.featured && Más popular} +

{p.n}

+

{p.who}

+
    + {p.f.map((x) => ( +
  • {x}
  • + ))} +
+
+ ))} +
+
+
+ + {/* PROCESO */} +
+
+

Cómo trabajamos

+
+ {steps.map((s) => ( +
+ {s.n} +

{s.t}

+

{s.d}

+
+ ))} +
+
+
+ + {/* CONTACTO */} +
+
+

¿Hablamos de tu crecimiento?

+

Cuéntanos dónde estás y te enseñamos cómo llegar al siguiente nivel.

+ Habla con nosotros +
+
+
+ +
+
+ © 2026 Feedback Studios + Agencia de marketing AI-native · construido sobre infraestructura propia
-
- - -
+ ); }