/* ==========================================================================
   Morici & Asociados — tokens de marca
   Extraídos del brand book original (bundle de diseño). No inventar valores
   nuevos: la paleta son seis colores y sus tintes.
   ========================================================================== */

:root{
  /* ---- paleta base (brand book 2d) ---- */
  --bordo:#6E1B2E;            /* BORDÓ MORICI · PMS 1955 C aprox */
  --bordo-deep:#4A1220;       /* BORDÓ PROFUNDO · PMS 504 C aprox */
  --bordo-negative:#A8354C;   /* bordó sobre ink: el bordó puro no alcanza contraste */
  --ink:#171412;              /* INK CÁLIDO · PMS Black 6 C aprox */
  --stone:#8A8377;            /* STONE · PMS Warm Gray 8 C aprox */
  --ivory:#F4F1EA;            /* IVORY · PMS 7527 C aprox */
  --paper:#FBFAF7;            /* PAPER — papel, no tinta */
  --white:#FFFFFF;

  /* tintes derivados de los seis base — nunca tonos nuevos */
  --ink-80:rgba(23,20,18,.80);
  --ink-60:rgba(23,20,18,.60);
  --ink-12:rgba(23,20,18,.12);
  --ink-08:rgba(23,20,18,.08);
  --stone-30:rgba(138,131,119,.30);
  --stone-16:rgba(138,131,119,.16);
  --bordo-12:rgba(110,27,46,.12);
  --bordo-06:rgba(110,27,46,.06);

  /* ---- alias semánticos ---- */
  --surface-page:var(--paper);
  --surface-sunken:var(--ivory);
  --surface-card:var(--paper);
  --surface-ink:var(--ink);
  --surface-brand:var(--bordo);

  --text-body:var(--ink);
  --text-strong:var(--ink);
  --text-muted:var(--stone);
  --text-quiet:var(--ink-60);
  --text-brand:var(--bordo);
  --text-brand-doc:var(--bordo-deep);
  --text-on-ink:var(--ivory);
  --text-on-brand:var(--paper);
  --text-brand-on-ink:var(--bordo-negative);

  --rule-brand:var(--bordo);            /* el filete */
  --rule-hairline:var(--stone-30);
  --rule-strong:var(--ink-12);
  --border-field:var(--stone-30);
  --border-field-focus:var(--bordo);

  /* ---- familias ---- */
  --font-display:"Bespoke Serif","Noto Serif SC",Georgia,serif;      /* wordmark, títulos */
  --font-ui:"Satoshi","Noto Sans SC","Helvetica Neue",sans-serif;    /* cuerpo, UI */
  --font-cjk-serif:"Noto Serif SC","Source Han Serif SC",serif;      /* títulos 中文 */
  --font-cjk-ui:"Noto Sans SC","Source Han Sans SC",sans-serif;      /* UI 中文 */
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;                /* expediente, plazos */

  /* ---- pesos: la marca no usa bold ---- */
  --weight-display:300;
  --weight-display-mid:400;
  --weight-body:400;
  --weight-medium:500;

  /* ---- escala tipográfica ---- */
  --size-display-xl:64px;   --lh-display-xl:1.06;
  --size-display-l:48px;    --lh-display-l:1.08;
  --size-display-m:36px;    --lh-display-m:1.14;
  --size-display-s:28px;    --lh-display-s:1.2;
  --size-body-l:19px;       --lh-body-l:1.6;
  --size-body-m:16px;       --lh-body-m:1.62;
  --size-body-s:14px;       --lh-body-s:1.55;
  --size-caption:12px;      --lh-caption:1.45;
  --size-label:11px;        --lh-label:1.3;

  /* ---- tracking (brand book 3b) ---- */
  --track-wordmark:.100em;     /* no se altera en ninguna variante */
  --track-descriptor:.340em;   /* «& ASOCIADOS» */
  --track-label:.300em;
  --track-display:.010em;
  --track-body:0em;
  --track-cjk-title:.040em;

  /* ---- ajuste CJK ---- */
  --cjk-size-ratio:1.04;
  --cjk-line-height:1.5;

  /* ---- espaciado: escala base 4 con paso editorial ---- */
  --space-1:4px;   --space-2:8px;   --space-3:12px;  --space-4:16px;
  --space-5:24px;  --space-6:32px;  --space-7:48px;  --space-8:64px;
  --space-9:96px;  --space-10:128px;

  --gap-inline:8px;
  --gap-stack:16px;
  --gap-block:32px;
  --gap-section:96px;
  --pad-card:24px;
  --pad-card-lg:32px;
  --pad-page:48px;

  --measure-narrow:34ch;
  --measure:62ch;
  --measure-wide:76ch;

  /* ---- radios: la marca es de papel, casi nada se redondea ---- */
  --radius-hair:2px;
  --radius-card:3px;
  --radius-pill:999px;

  --border-hairline:1px solid var(--rule-hairline);
  --border-card:1px solid var(--stone-30);
  --filete:1.5px;
  --filete-page:6px;
  --filete-monogram:12.5%;   /* 1 módulo de 8 */

  /* ---- sombras: papel sobre papel ---- */
  --shadow-sheet:0 1px 0 var(--stone-16);
  --shadow-raised:0 2px 10px rgba(23,20,18,.06);
  --photo-filter:grayscale(.28) contrast(1.04) sepia(.06);

  /* ---- movimiento sobrio: opacidad y 2-6px. nada rebota ---- */
  --ease-standard:cubic-bezier(.2,0,.2,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --dur-fast:140ms;
  --dur-base:220ms;
  --dur-slow:420ms;
  --transition-hover:color var(--dur-fast) var(--ease-standard),
                     background-color var(--dur-fast) var(--ease-standard),
                     border-color var(--dur-fast) var(--ease-standard),
                     opacity var(--dur-fast) var(--ease-standard);
  --hover-ink:var(--bordo-deep);
}

@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms}
}

/* fondos permitidos: paper, ivory, ink, bordó pleno. */
.on-ink{
  --text-body:var(--ivory);--text-strong:var(--ivory);--text-muted:var(--stone);
  --text-brand:var(--bordo-negative);--rule-brand:var(--bordo-negative);
  background:var(--ink);color:var(--ivory);
}
.on-bordo{
  --text-body:var(--paper);--text-strong:var(--paper);
  --text-muted:rgba(251,250,247,.66);
  --text-brand:var(--paper);--rule-brand:var(--paper);
  background:var(--bordo);color:var(--paper);
}
