diff --git a/src/uix/eidos/COLOR_ENGINE_RFC.md b/src/uix/eidos/COLOR_ENGINE_RFC.md
index 8a598d04f..60b809483 100644
--- a/src/uix/eidos/COLOR_ENGINE_RFC.md
+++ b/src/uix/eidos/COLOR_ENGINE_RFC.md
@@ -326,7 +326,10 @@ expone con un input de color por fila + «auto» para volver a derivado.
**Los 6 intents NO se derivan** — son hues canónicos del libro (un error es rojo
siempre). `harmonize(color, toward, amount)` (M3 `blend.harmonize`) los empuja hacia
-la marca un % si el builder quiere cohesión — opt-in, conserva L y C.
+la marca un % si el builder quiere cohesión — opt-in, conserva L y C. Un valor
+**sutil (~10-15%)** hace que los intents se sientan de la familia **sin perder su
+lectura** (rojo sigue rojo); el builder de `/temas/color` lo usa como default (slider
+0 = canónico puro → fuerte). Resuelve el "los intents puros chirrían con la marca".
**Caveat del +60°**: la rotación de Material puede caer cerca de un intent según el
primary (p. ej. `purple + 60° = H6 ≈ red/threat`). Por eso el tema base afinó su
diff --git a/web/routes/temas/color/+page.svelte b/web/routes/temas/color/+page.svelte
index 51884eb03..7990887e6 100644
--- a/web/routes/temas/color/+page.svelte
+++ b/web/routes/temas/color/+page.svelte
@@ -118,7 +118,9 @@
let seedHex = $state('#8e4ec6')
let builderVariant = $state--primitive-{'{role}'}-* en .root → reproyecta toda
la jerarquía + el chrome neutral; en una app real sería setCssVariables). La
- librería de 31 escalas y los 6 intents canónicos NO cambian — salvo que actives
- harmonize intents (los empuja hacia la temperatura del seed). Y puedes
+ librería de 31 escalas NO cambia. Los 6 intents se armonizan suavemente
+ hacia la marca (slider; 0 = canónico puro) para que no se sientan desentonados, sin perder su
+ lectura — rojo sigue siendo rojo. Y puedes
fijar cualquier rol con su propio color (el input de cada fila); los demás
se siguen derivando del seed.