extraído de www.aesop.com Ver sitio ↗

Aesop.

Formulaciones para piel, cabello y cuerpo con la voz de un apotecario del siglo XIX y la disciplina de una imprenta suiza. El canvas nunca es blanco: es el crema #FFFEF2. La tinta nunca es negra: es el carbón #333333. El único color de la casa es el ámbar del frasco, #945C26. Todo lo demás es materia, sombra y texto que pide ser leído despacio.

light mode crema · carbón · ámbar cuerpo 14px radio 2px #945C26 bandas #252525
aesop.com
Captura de Aesop: The perennial appeal of Geranium Leaf
01

Color

light · 11 colores
Marca
#945C26
Ámbar del frasco
acento único · precio · enlaces · filetes · focus
crema sobre ámbar · AA · 5.5:1
#333333
Carbón (ink)
texto principal · CTA · titulares · 588 ocurrencias
carbón sobre crema · AAA · 12.5:1
#FFFEF2
Crema (canvas)
fondo del body · texto sobre carbón · 922 ocurrencias
canvas base · también texto sobre #252525
Superficies
#F6F5E8
Crema apagado
secciones alternas · tiles · 1209 ocurrencias
no para texto · superficie de reposo
#252525
Carbón profundo
bandas fotográficas · footer · 1671 ocurrencias
crema sobre carbón profundo · AAA · 15.2:1
#FFFFFF
Blanco puro
fichas de producto · modales · 43 ocurrencias
superficie elevada · nunca como fondo general
#F3F3F3
Gris neutro
skeletons · estados disabled · 6 ocurrencias
no para texto · superficie inerte
Texto y línea
#666666
Texto secundario
párrafos largos · notas de formulación · 34 ocurrencias
sobre crema · AA · 5.7:1
#242424
Ink profundo
titulares editoriales · el punto más oscuro del texto
sobre crema · AAA · 15.4:1
#999999
Texto tenue
placeholders · volumen · metadata de ficha
sobre crema · AA large · 2.9:1
#CED4DA
Borde
campos · divisores · borde de botón secundario
hairline · nunca para texto

La paleta entera cabe en tres decisiones. El crema #FFFEF2 reemplaza al blanco, y basta ese medio grado de calidez para que la página deje de parecer una pantalla y empiece a parecer papel. El carbón #333333 reemplaza al negro: baja el contraste de 21:1 a 12.5:1, que sigue siendo AAA pero se lee sin fatiga en párrafos de trescientas palabras. Y el ámbar #945C26 aparece dos veces en todo el CSS del sitio. Dos. Es el color del vidrio del frasco y se reserva para el precio, un filete, un enlace. Si aparece tres veces en la misma pantalla, ya se abusó de él.

02

Typography

2 familias · cuerpo 14px
AaEeGg31
Urbanist sustituto de SuisseIntl (Swiss Typefaces, comercial, self-hosted · 683 ocurrencias) · grotesca suiza neutra · voz principal del sistema · pesos 300-700
Cormorant Garamond sustituto de Zapf-Humanist (serif humanista, uso puntual · 8 ocurrencias) · el aire de apotecario: titulares editoriales, nombre de producto, cursivas
Serif 300The perennial appeal of Geranium Leaf
Serif 300 italicA rich repertoire
Sans 400Plant-based and laboratory-made ingredients
Sans 500Eleos Nourishing Body Cleanser
Sans 500 · 11pxAñadir a la cesta · Curated Sets · 100 mL
Cuerpo — Urbanist 14px / 1.8

El cuerpo de texto de Aesop es de 14px, con 12px como tamaño más frecuente de toda la página (441 ocurrencias frente a 209 del 14px). Eso, en un sitio de comercio, es una declaración: la marca asume que su lector se acerca. El texto no compite por atención, la recompensa. Los párrafos son largos, el registro es ensayístico, y las descripciones de producto hablan de aceite de hoja de geranio y de la historia del ingrediente antes de mencionar la piel.

La jerarquía se construye con muy pocos escalones: 11px y 12px para etiquetas en versalitas, 14px y 16px para cuerpo, y un salto directo a 30-31px para el titular. No hay tamaños intermedios. El peso dominante es el 400 (724 ocurrencias de 781); el 700 aparece 56 veces y el 600 exactamente una. La marca casi no usa negrita: lo que separa un titular de un párrafo es el tamaño y el aire, no el grosor del trazo.

RolTamañoPesoLH
display serif31px300115%
h1 (real del sitio)36px400140%
h2 / sección31px400130%
h3 / producto30px400120%
subtítulo18px400160%
body lg16px400175%
body md14px400180%
body sm / nav12px400160%
label · versalita11px500140%
Tracking
display / body: 0em (normal)
label 11-12px: 0.16em, versalitas
botón: 0.10em, versalitas
el tracking abierto solo existe en versalitas
Original observado en el HTML: SuisseIntl + SuisseIntl-Medium (Swiss Typefaces, comercial, 683 + 90 ocurrencias) y Zapf-Humanist (serif, 8 ocurrencias). Sustitución renderizada aquí: Urbanist 300-700 para la sans y Cormorant Garamond 300-500 para la serif. Urbanist conserva la neutralidad geométrica y el ojo bajo de la grotesca suiza sin caer en Helvetica; Cormorant aporta el trazo fino, los remates delgados y las cursivas de imprenta que dan el aire de apotecario. Aesop no tiene voz monoespaciada: el registro de etiqueta es la propia sans en 11px con tracking 0.16em en versalitas.
03

Components

radio 2px
Botón de compra · 2px, versalitas, sin sombra
Campo de búsqueda · filete de 1px, sin caja gruesa
Ficha de producto · nombre en serif, formulación en sans pequeña
Cuerpo
Eleos Nourishing Body Cleanser

Un limpiador de cuerpo con aceites de bergamota, romero y hoja de geranio. Deja la piel limpia sin retirarle sus aceites naturales.

$45.00 500 mL
Banda oscura · el componente signature
Ingrediente

The perennial appeal of Geranium Leaf

La banda #252525 es donde Aesop pone la fotografía: aceite espeso sobre un plato de piedra, una hoja contra la sombra, un frasco de vidrio ámbar iluminado desde un solo lado. El texto que la acompaña es crema #FFFEF2 y el único acento permitido es el ámbar aclarado, porque el ámbar puro sobre carbón cae a 2.8:1 y deja de leerse.

Esta alternancia entre crema y carbón es el pulso del sitio. No hay degradados, ni glassmorphism, ni tarjetas flotando: hay materia y hay sombra.

04

Spacing & shape

base 4 · aire generoso
Escala de espaciado
4px · filete
8px · xs
12px · sm
16px · md
24px · lg · padding de ficha
32px · xl · margen lateral
48px · 2xl
64px · 3xl · bloque editorial
96px · sección
128px · respiro de banda
El espacio es el lujo. Una sección de Aesop respira 96-128px
arriba y abajo; el texto nunca pasa de 62-68ch de ancho.
La densidad de un e-commerce convencional rompe la marca
más rápido que cualquier error de color.
Familia de radios
0 · imagen, banda
1px · filete, campo
2px · botón, ficha
4px · esquina derecha
50% · swatch
El radio máximo del sistema es 2px. No hay pills, no hay
cards de 12px, no hay esquinas suaves. La única curva
del sistema es el 50% del swatch de color y del avatar.
Redondear un botón de Aesop es, literalmente,
dejar de ser Aesop.
Elevación
base: none (flat, siempre)
ficha: rgba(0,0,0,0.06) 0 1px 2px
overlay real del sitio: rgba(0,0,0,0.2) 0 0 18px
sobre carbón: rgba(255,254,242,0.2) 0 2px 4px
la profundidad viene de la fotografía oscura,
no de las sombras
05

Principles

guardarraíles

    Sí — lujo discreto

  • Lujo discreto. Empieza siempre por el crema #FFFEF2 y el carbón #333333. Un sistema de dos neutros tibios ya es la marca; el ámbar solo entra cuando hay una razón concreta (precio, enlace, filete).
  • Materia y sombra. La profundidad la da la fotografía oscura sobre bandas #252525, no las sombras del CSS. Alterna crema y carbón como si pasaras páginas de un catálogo impreso.
  • Texto que se lee despacio. Cuerpo de 14px, línea de 1.8, medida de 62-68ch, párrafos largos y un registro ensayístico. La descripción de producto cuenta el ingrediente antes de vender el beneficio.
  • Casi recto. Radio máximo de 2px en botones y fichas, 1px en campos. El único círculo del sistema es el swatch de color.
  • La versalita es el único adorno. Etiquetas de 11px, peso 500, tracking 0.16em, en mayúsculas. Ese es el acabado de la casa; no hace falta nada más.

    No — lo que rompe la marca

  • No uses blanco puro como fondo. #FFFFFF está reservado a fichas y modales. Sustituir el crema por blanco vacía la página de su calidez y la vuelve un e-commerce cualquiera.
  • No uses negro puro ni negritas para dar énfasis. El ink es #333333 y el peso dominante es 400. La jerarquía se hace con tamaño y aire, no con grosor.
  • No conviertas el ámbar en color de fondo ni en botón por defecto. Aparece dos veces en todo el CSS del sitio. Es un acento, no una superficie; y sobre carbón no se lee (2.8:1).
  • No redondees, no pongas sombras dramáticas ni glassmorphism. Pills, cards de 12px y degradados de color rompen el sistema en un solo gesto.
  • No comprimas el layout. Grids densos, tarjetas apretadas y titulares de 60px son de otra marca. Aesop necesita 96-128px de aire por sección y titulares que no gritan.
06

Resources

copy & paste
:root {
  /* Color - crema + carbon + un solo ambar */
  --color-canvas: #FFFEF2;         /* crema, fondo real del body */
  --color-surface: #F6F5E8;        /* crema apagado, secciones alternas */
  --color-surface-gray: #F3F3F3;   /* gris inerte */
  --color-surface-elevated: #FFFFFF; /* fichas y modales, solo ahi */
  --color-dark: #252525;           /* bandas fotograficas */
  --color-dark-2: #333333;         /* superficie oscura secundaria */

  --color-ink: #333333;            /* carbon, NO negro puro */
  --color-ink-deep: #242424;
  --color-ink-soft: #666666;
  --color-ink-light: #999999;

  --color-primary: #945C26;        /* ambar del frasco: acento unico */
  --color-primary-soft: #C08A4E;   /* ambar sobre carbon (derivado, AA 5.1:1) */
  --color-primary-wash: #EFE4D5;   /* velo ambar sobre crema (derivado) */
  --color-border: #CED4DA;
  --color-hairline: #E4E2D2;       /* hairline calido (derivado) */
  --color-on-primary: #FFFEF2;     /* crema sobre ambar, nunca blanco */
  --color-on-dark: #FFFEF2;

  /* Typography - sans para todo, serif puntual y editorial */
  --font-sans: 'Urbanist', 'SuisseIntl', Helvetica, sans-serif;
  --font-serif: 'Cormorant Garamond', 'Zapf-Humanist', Georgia, serif;

  /* Scale - cuerpo pequeno, salto directo al titular */
  --f-display: 300 31px/115% var(--font-serif);
  --f-h1: 400 36px/140% var(--font-sans);
  --f-h2: 400 31px/130% var(--font-sans);
  --f-h3: 400 30px/120% var(--font-serif);
  --f-body-lg: 400 16px/175% var(--font-sans);
  --f-body-md: 400 14px/180% var(--font-sans);
  --f-body-sm: 400 12px/160% var(--font-sans);
  --f-label: 500 11px/140% var(--font-sans);  /* + letter-spacing: 0.16em, uppercase */

  /* Radius - casi recto, siempre */
  --radius-hair: 1px;
  --radius-base: 2px;   /* boton, ficha, tab: el maximo del sistema */
  --radius-right: 0 4px 4px 0;
  --radius-round: 50%;  /* swatch, avatar */

  /* Shadow - flat first; la profundidad la da la fotografia */
  --shadow-card: rgba(0, 0, 0, 0.06) 0 1px 2px 0;
  --shadow-overlay: rgba(0, 0, 0, 0.2) 0 0 18px 0;
  --shadow-on-dark: rgba(255, 254, 242, 0.2) 0 2px 4px 0;

  /* Spacing - el aire es el lujo */
  --space-4: 4px; --space-8: 8px; --space-12: 12px; --space-16: 16px;
  --space-24: 24px; --space-32: 32px; --space-64: 64px;
  --space-section: 96px; --space-band: 128px;

  /* Motion - lento, sin rebote */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --duration-fast: 350ms; --duration-base: 600ms; --duration-slow: 1000ms;
}
@theme {
  --color-canvas: #FFFEF2;
  --color-surface: #F6F5E8;
  --color-surface-elevated: #FFFFFF;
  --color-dark: #252525;
  --color-dark-2: #333333;
  --color-ink: #333333;
  --color-ink-deep: #242424;
  --color-ink-soft: #666666;
  --color-ink-light: #999999;
  --color-primary: #945C26;
  --color-primary-soft: #C08A4E;
  --color-border: #CED4DA;
  --color-hairline: #E4E2D2;

  --font-sans: 'Urbanist', 'SuisseIntl', Helvetica, sans-serif;
  --font-serif: 'Cormorant Garamond', 'Zapf-Humanist', Georgia, serif;

  --text-display: 31px;
  --text-h1: 36px;
  --text-h3: 30px;
  --text-body-lg: 16px;
  --text-body: 14px;
  --text-body-sm: 12px;
  --text-label: 11px;

  --font-weight-light: 300;
  --font-weight-regular: 400;   /* dominante: 724 de 781 ocurrencias */
  --font-weight-medium: 500;
  --font-weight-bold: 700;      /* raro: 56 ocurrencias */

  --tracking-label: 0.16em;

  --radius-hair: 1px;
  --radius-base: 2px;
  --radius-round: 50%;

  --shadow-card: 0 1px 2px 0 rgb(0 0 0 / 0.06);
  --shadow-overlay: 0 0 18px 0 rgb(0 0 0 / 0.2);
  --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
}
{
  "color": {
    "canvas": "#FFFEF2",
    "surface": "#F6F5E8",
    "surfaceGray": "#F3F3F3",
    "surfaceElevated": "#FFFFFF",
    "dark": "#252525",
    "dark2": "#333333",
    "ink": "#333333",
    "inkDeep": "#242424",
    "inkSoft": "#666666",
    "inkLight": "#999999",
    "primary": "#945C26",
    "primarySoft": "#C08A4E",
    "primaryWash": "#EFE4D5",
    "border": "#CED4DA",
    "hairline": "#E4E2D2",
    "onPrimary": "#FFFEF2",
    "onDark": "#FFFEF2"
  },
  "font": {
    "sans": { "family": "Urbanist", "substituteOf": "SuisseIntl (Swiss Typefaces)" },
    "serif": { "family": "Cormorant Garamond", "substituteOf": "Zapf-Humanist" }
  },
  "fontSize": {
    "display": { "px": 31, "weight": 300, "lineHeight": "115%", "family": "serif" },
    "h1": { "px": 36, "weight": 400, "lineHeight": "140%", "family": "sans" },
    "h2": { "px": 31, "weight": 400, "lineHeight": "130%", "family": "sans" },
    "h3": { "px": 30, "weight": 400, "lineHeight": "120%", "family": "serif" },
    "bodyLg": { "px": 16, "weight": 400, "lineHeight": "175%" },
    "bodyMd": { "px": 14, "weight": 400, "lineHeight": "180%" },
    "bodySm": { "px": 12, "weight": 400, "lineHeight": "160%" },
    "label": { "px": 11, "weight": 500, "lineHeight": "140%", "tracking": "0.16em", "case": "uppercase" }
  },
  "radius": { "hair": "1px", "base": "2px", "right": "0 4px 4px 0", "round": "50%" },
  "spacing": { "base": "4px", "sm": "12px", "md": "16px", "lg": "24px", "xl": "32px", "section": "96px", "band": "128px" },
  "shadow": {
    "card": "rgba(0,0,0,0.06) 0 1px 2px 0",
    "overlay": "rgba(0,0,0,0.2) 0 0 18px 0",
    "onDark": "rgba(255,254,242,0.2) 0 2px 4px 0"
  },
  "motion": { "ease": "cubic-bezier(0.22, 1, 0.36, 1)", "durationFast": "350ms", "durationBase": "600ms" }
}
---
version: "1.0"
name: "Aesop"
description: "Sistema visual de Aesop: canvas crema #FFFEF2 (nunca blanco), tinta carbon #333333 (nunca negro), y un unico acento ambar #945C26 tomado del frasco de vidrio. Tipografia SuisseIntl (grotesca suiza) con Zapf-Humanist serif puntual, cuerpo de 14px, radios de 2px y bandas oscuras #252525 para la fotografia matérica. Lujo discreto de apotecario: texto largo, culto, que se lee despacio."
colors:
  primary: "#945C26"
  secondary: "#333333"
  accent: "#C08A4E"
  accent-soft: "#EFE4D5"
  neutral: "#666666"
  background: "#FFFEF2"
  surface: "#F6F5E8"
  surface-elevated: "#FFFFFF"
  surface-dark: "#252525"
  text-primary: "#333333"
  text-secondary: "#666666"
  text-muted: "#999999"
  text-deep: "#242424"
  text-on-primary: "#FFFEF2"
  text-on-dark: "#FFFEF2"
  border: "#CED4DA"
  border-subtle: "#E4E2D2"
  success: "#4F6B4A"
  warning: "#945C26"
  error: "#8C3A2B"
  info: "#333333"
typography:
  display:
    fontFamily: "Zapf-Humanist"
    fontSize: "31px"
    fontWeight: 300
    lineHeight: "115%"
  h1:
    fontFamily: "SuisseIntl"
    fontSize: "36px"
    fontWeight: 400
    lineHeight: "140%"
  h2:
    fontFamily: "SuisseIntl"
    fontSize: "31px"
    fontWeight: 400
    lineHeight: "130%"
  h3:
    fontFamily: "Zapf-Humanist"
    fontSize: "30px"
    fontWeight: 400
    lineHeight: "120%"
  body-lg:
    fontFamily: "SuisseIntl"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: "175%"
  body-md:
    fontFamily: "SuisseIntl"
    fontSize: "14px"
    fontWeight: 400
    lineHeight: "180%"
  body-sm:
    fontFamily: "SuisseIntl"
    fontSize: "12px"
    fontWeight: 400
    lineHeight: "160%"
  label:
    fontFamily: "SuisseIntl-Medium"
    fontSize: "11px"
    fontWeight: 500
    lineHeight: "140%"
    letterSpacing: "0.16em"
rounded:
  none: "0"
  hair: "1px"
  base: "2px"
  right: "0 4px 4px 0"
  round: "50%"
spacing:
  base: "4px"
  sm: "12px"
  md: "16px"
  lg: "24px"
  xl: "32px"
  2xl: "48px"
  3xl: "64px"
  gap: "16px"
  section-padding: "96px"
components:
  button-primary:
    backgroundColor: "{colors.text-primary}"
    textColor: "{colors.text-on-primary}"
    typography: "{typography.label}"
    rounded: "{rounded.base}"
    padding: "15px 28px"
  button-secondary:
    backgroundColor: "transparent"
    textColor: "{colors.text-primary}"
    borderColor: "{colors.border}"
    rounded: "{rounded.base}"
    padding: "15px 28px"
  card:
    backgroundColor: "{colors.background}"
    borderColor: "{colors.border-subtle}"
    rounded: "{rounded.base}"
    padding: "24px"
---

# DESIGN.md - Aesop

> Sistema de diseño extraído de `https://www.aesop.com` (sitio de comercio, julio 2026).
> Valores medidos del CSS en vivo. Estados derivados marcados con `(derivado para completar el sistema)`.