brand: process-not-platform manifesto on the landing

Hero strip (ES/EN): 'Not a platform. A process.' / 'Decide together.
Publish anywhere. Forget nothing.' / 'What they delete, we archive. What
they silence, we broadcast.' Footer line: 'Not a product. A process.
Built by collectives, for collectives.'
This commit is contained in:
glass beadian 2026-10-13 16:44:59 +00:00
parent a3cf150494
commit dae302bd18

View file

@ -147,6 +147,22 @@ function ManualLanding(): React.ReactElement {
<h1 className="mb-2 text-2xl font-bold">{t(MANUAL_TITLE)}</h1> <h1 className="mb-2 text-2xl font-bold">{t(MANUAL_TITLE)}</h1>
<p className="mb-8 text-sm leading-relaxed text-text-dim">{t(MANUAL_INTRO)}</p> <p className="mb-8 text-sm leading-relaxed text-text-dim">{t(MANUAL_INTRO)}</p>
{/* The brand spine, up front: process, not product. */}
<section aria-label={t({ es: "Nuestro principio", en: "Our principle" })} className="mb-10 rounded-lg border border-accent bg-surface p-4">
<p className="text-base font-bold tracking-tight text-accent">
{t({ es: "No es una plataforma. Es un proceso.", en: "Not a platform. A process." })}
</p>
<p className="mt-1 text-sm font-semibold">
{t({ es: "Decidir en colectivo. Publicar donde importa. Olvidar jamás.", en: "Decide together. Publish anywhere. Forget nothing." })}
</p>
<p className="mt-2 text-xs leading-relaxed text-text-dim">
{t({
es: "Lo que borran, lo archivamos. Lo que silencian, lo transmitimos. Cada voz cuenta — y ninguna puede ser silenciada.",
en: "What they delete, we archive. What they silence, we broadcast. Every voice counts — and none can be silenced.",
})}
</p>
</section>
{/* The three participation paths — the core of the page. */} {/* The three participation paths — the core of the page. */}
<section aria-labelledby="paths-heading" className="mb-10"> <section aria-labelledby="paths-heading" className="mb-10">
<h2 id="paths-heading" className="mb-3 text-xs font-bold uppercase tracking-wider text-text-faint"> <h2 id="paths-heading" className="mb-3 text-xs font-bold uppercase tracking-wider text-text-faint">
@ -212,6 +228,12 @@ function ManualLanding(): React.ReactElement {
</div> </div>
<footer className="mt-12 border-t border-border-subtle pt-6 text-2xs leading-relaxed text-text-faint"> <footer className="mt-12 border-t border-border-subtle pt-6 text-2xs leading-relaxed text-text-faint">
<p className="mb-2 font-semibold text-text-dim">
{t({
es: "No es un producto. Es un proceso. Construido por colectivos, para colectivos.",
en: "Not a product. A process. Built by collectives, for collectives.",
})}
</p>
{t({ {t({
es: "Sin cuenta no se puede entrar al área de trabajo, pero esta página es pública por diseño: compártela con quien quiera entender cómo funciona un colectivo antes de pedir su invitación.", es: "Sin cuenta no se puede entrar al área de trabajo, pero esta página es pública por diseño: compártela con quien quiera entender cómo funciona un colectivo antes de pedir su invitación.",
en: "The workspace itself needs an account, but this page is public by design: share it with anyone who wants to understand how a collective works before asking for their invite.", en: "The workspace itself needs an account, but this page is public by design: share it with anyone who wants to understand how a collective works before asking for their invite.",