/* Hallmark · tokens · custom theme "salon"
 * vibe: "warm, trustworthy, unhurried, one-person salon"
 * paper: oklch(97% 0.008 95) warm-white · accent: oklch(43% 0.09 158) deep salon green
 * display: Fraunces + Zen Old Mincho · body: Zen Kaku Gothic New
 * axes: light / italic-serif / chromatic-green ~158
 */

[data-theme="salon"] {
  /* ── surfaces & ink (warm-white paper, green-tinted ink) ── */
  --color-paper:     oklch(97.5% 0.008 95);
  --color-paper-2:   oklch(95%   0.010 100);
  --color-paper-3:   oklch(91%   0.014 120);
  --color-ink:       oklch(23%   0.022 160);
  --color-ink-2:     oklch(38%   0.020 158);
  --color-muted:     oklch(50%   0.016 152);
  --color-rule:      oklch(86%   0.012 128);
  --color-rule-2:    oklch(78%   0.016 135);

  /* ── accent: deep salon green ── */
  --color-accent:      oklch(43%  0.090 158);
  --color-accent-2:    oklch(50%  0.095 158);
  --color-accent-soft: oklch(93%  0.028 150);   /* pale green wash for marks / fills */
  --color-accent-ink:  oklch(97.5% 0.008 95);   /* paper reads on the green fill */
  --color-focus:       oklch(48%  0.130 158);

  /* ── fonts (3 families: Fraunces latin display + Zen Old Mincho JP display + Zen Kaku Gothic New body) ── */
  --font-display:  "Zen Old Mincho", "Fraunces", ui-serif, "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-accent:   "Fraunces", ui-serif, Georgia, serif;           /* latin display moment: hero em, wordmark */
  --font-body:     "Zen Kaku Gothic New", ui-sans-serif, "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
  --font-label:    "Fraunces", ui-serif, Georgia, serif;

  /* ── type scale (1.25 major third), Japanese-tuned line-heights ── */
  --text-xs:      0.78rem;
  --text-sm:      0.875rem;
  --text-base:    1rem;
  --text-md:      1.1875rem;
  --text-lg:      1.5rem;
  --text-xl:      1.9rem;
  --text-2xl:     2.35rem;
  --text-3xl:     2.9rem;
  --text-display:   clamp(2.35rem, 5.2vw + 1rem, 4.4rem);
  --text-display-s: clamp(1.9rem, 3vw + 1rem, 2.9rem);

  --tracking-tight: -0.01em;
  --tracking-label:  0.12em;
  --lh-tight: 1.28;
  --lh-snug:  1.55;
  --lh-body:  1.9;

  /* ── spacing (4pt scale) ── */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  --page-gutter: clamp(1.25rem, 6vw, 5rem);
  --measure: 60ch;

  /* ── radii, rules ── */
  --radius-sm:   6px;
  --radius-card: 12px;
  --radius-pill: 999px;
  --rule-hair: 1px;

  /* ── motion ── */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  460ms;

  /* ── z-index scale ── */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
}
