/* Valmia : variables générées depuis tokens.json. Thème clair par défaut ; thème sombre optionnel via data-theme="dark" sur <html>. */

:root, [data-theme="light"] {
  --surface: #fffcfa;
  --surface-raised: #ffffff;
  --surface-plum: #f7edf5;
  --surface-peach: #fdebdd;
  --surface-gold: #fcf1d6;
  --surface-mint: #e5f5ee;
  --line: #eadfe6;
  --line-strong: #8c7f8e;
  --ink: #2d1f35;
  --ink-muted: #62536a;
  --plum: #8a3f7e;
  --plum-hover: #74306a;
  --plum-deep: #3b1d3a;
  --on-plum: #ffffff;
  --coral: #c2432d;
  --coral-hover: #a63724;
  --on-coral: #ffffff;
  --peach: #f8c4a4;
  --gold: #e8b547;
  --gold-ink: #86600f;
  --mint: #8ccfb4;
  --success: #2e6b50;
  --danger: #a3213d;
  --danger-soft: #fbe9ec;
  --link: var(--plum);
  --shadow-sm: 0 1px 2px #2d1f350f, 0 2px 8px #2d1f3514;
  --shadow-lg: 0 8px 24px -6px #2d1f3529, 0 24px 48px -12px #2d1f351f;
  --focus-ring: 0 0 0 3px #fffcfa, 0 0 0 6px #8a3f7e;
}

[data-theme="dark"] {
  --surface: #17111a;
  --surface-raised: #211a25;
  --surface-plum: #291c2b;
  --surface-peach: #2a1e1a;
  --surface-gold: #2a2213;
  --surface-mint: #13241f;
  --line: #3a2e3c;
  --line-strong: #7f7082;
  --ink: #f2e9f0;
  --ink-muted: #bbafbf;
  --plum: #d69bcb;
  --plum-hover: #e3b5da;
  --plum-deep: #0f0a11;
  --on-plum: #17111a;
  --coral: #f2876f;
  --coral-hover: #f5a08b;
  --on-coral: #17111a;
  --peach: #5a3324;
  --gold: #7a5a12;
  --gold-ink: #e8b547;
  --mint: #1f4a3c;
  --success: #8ccfb4;
  --danger: #ff97a8;
  --danger-soft: #3a1820;
  --link: var(--plum);
  --shadow-sm: 0 1px 3px #00000099;
  --shadow-lg: 0 16px 40px -8px #000000cc;
  --focus-ring: 0 0 0 3px #17111a, 0 0 0 6px #d69bcb;
}

:root {
  --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;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-full: 9999px;
  --container-max: 1180px;
  --content-max: 720px;
  --control-height: 56px;
  --tap-min: 48px;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-sans: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", Verdana, system-ui, sans-serif;
}

/* Styles typographiques */
.vm-type-display-xl { font-family: var(--font-display); font-size: 56px; line-height: 62px; font-weight: 600; letter-spacing: -0.01em; }
.vm-type-display-l { font-family: var(--font-display); font-size: 40px; line-height: 48px; font-weight: 600; letter-spacing: -0.005em; }
.vm-type-heading { font-family: var(--font-display); font-size: 28px; line-height: 36px; font-weight: 600; }
.vm-type-quote { font-family: var(--font-display); font-size: 22px; line-height: 32px; font-weight: 500; }
.vm-type-lead { font-family: var(--font-sans); font-size: 22px; line-height: 34px; font-weight: 400; }
.vm-type-body { font-family: var(--font-sans); font-size: 18px; line-height: 29px; font-weight: 400; }
.vm-type-body-strong { font-family: var(--font-sans); font-size: 18px; line-height: 29px; font-weight: 700; }
.vm-type-label { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 700; }
.vm-type-small { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.vm-type-phone { font-family: var(--font-sans); font-size: 28px; line-height: 32px; font-weight: 700; letter-spacing: 0.01em; }
