/* Osiacom — variables CSS générées depuis tokens/tokens.json */
/* Polices : placer les fichiers Satoshi-*.woff2 dans ../fonts/ (voir fonts/LISEZMOI.md) */
@font-face { font-family: "Satoshi"; src: url("../fonts/Satoshi-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("../fonts/Satoshi-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("../fonts/Satoshi-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Satoshi"; src: url("../fonts/Satoshi-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --vert-osiacom: #025635;
  --vert-profond: #012622;
  --orange-osiacom: #e98a15;
  --brume: #eff1ed;
  --ciel: #d5dfe5;
  --primary: #025635;
  --primary-hover: #01482c;
  --primary-pressed: #012622;
  --on-primary: #ffffff;
  --accent: #e98a15;
  --accent-hover: #d47c10;
  --on-accent: #012622;
  --ink: #012622;
  --ink-muted: #4a5e58;
  --ink-subtle: #5f716c;
  --canvas: #ffffff;
  --surface-1: #eff1ed;
  --surface-2: #d5dfe5;
  --hairline: #d5dfe5;
  --hairline-strong: #012622;
  --inverse-canvas: #012622;
  --inverse-surface-1: #0b3530;
  --inverse-ink: #ffffff;
  --inverse-ink-muted: #d5dfe5;
  --link: var(--primary);
  --focus: var(--primary);
  --success: #1d7a46;
  --warning: var(--accent);
  --error: #c2321f;
  --on-error: #ffffff;
  --info: #2f6c8f;
}
[data-theme="dark"] {
  --primary: #52b383;
  --primary-hover: #6cc496;
  --primary-pressed: #3d9a6c;
  --on-primary: #012622;
  --accent: #e98a15;
  --accent-hover: #f29a2e;
  --on-accent: #012622;
  --ink: #eff1ed;
  --ink-muted: #a3b3b8;
  --ink-subtle: #8fa29c;
  --canvas: #012622;
  --surface-1: #0b3530;
  --surface-2: #154139;
  --hairline: #1f4f47;
  --hairline-strong: #eff1ed;
  --inverse-canvas: #eff1ed;
  --inverse-surface-1: #d5dfe5;
  --inverse-ink: #012622;
  --inverse-ink-muted: #4a5e58;
  --success: #5cc28a;
  --error: #ff8a7a;
  --on-error: #012622;
  --info: #7fb6d8;
}
:root {
  --space-xxs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-xxl: 48px;
  --space-3xl: 64px;
  --space-section: 96px;
  --radius-none: 0px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-pill: 9999px;
  --size-touch: 48px;
  --size-control-sm: 40px;
  --size-utility: 32px;
  --bp-mobile: 320px;
  --bp-tablet: 672px;
  --bp-desktop: 1056px;
  --bp-desktop-xl: 1312px;
  --bp-max: 1584px;
  --font-sans: "Satoshi", "Helvetica Neue", Arial, sans-serif;
}
.display-xl { font-family: var(--font-sans); font-size: 76px; line-height: 88px; font-weight: 700; letter-spacing: -1.5px; }
.display-lg { font-family: var(--font-sans); font-size: 60px; line-height: 70px; font-weight: 700; letter-spacing: -1.2px; }
.display-md { font-family: var(--font-sans); font-size: 42px; line-height: 50px; font-weight: 700; letter-spacing: -0.6px; }
.headline { font-family: var(--font-sans); font-size: 32px; line-height: 40px; font-weight: 700; letter-spacing: -0.3px; }
.card-title { font-family: var(--font-sans); font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: 0; }
.subhead { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 400; letter-spacing: 0; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 27px; font-weight: 400; letter-spacing: 0; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0.16px; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 18px; font-weight: 400; letter-spacing: 0.16px; }
.body-emphasis { font-family: var(--font-sans); font-size: 14px; line-height: 18px; font-weight: 500; letter-spacing: 0.16px; }
.caption { font-family: var(--font-sans); font-size: 12px; line-height: 16px; font-weight: 400; letter-spacing: 0.32px; }
.button { font-family: var(--font-sans); font-size: 14px; line-height: 18px; font-weight: 500; letter-spacing: 0.16px; }
.eyebrow { font-family: var(--font-sans); font-size: 14px; line-height: 18px; font-weight: 500; letter-spacing: 0.16px; }
