/* Global HR Mali (GHRM) — Production Design System v3.0 */
/* Charte conservée : orange #FF6600, marine #1F2937, vert #10B981, violet #6C5CE7, bleu #3B82F6. */
:root {
  --ghrm-brand-primary: #FF6600;
  --ghrm-brand-secondary: #1F2937;
  --ghrm-brand-accent: #10B981;
  --ghrm-brand-violet: #6C5CE7;
  --ghrm-brand-info: #3B82F6;
  --ghrm-primary-tint-1: #FF781F;
  --ghrm-primary-tint-2: #FF9147;
  --ghrm-primary-tint-3: #FFB685;
  --ghrm-primary-tint-4: #FFE3D1;
  --ghrm-primary-shade-1: #DB5800;
  --ghrm-primary-shade-2: #A84300;
  --ghrm-primary-shade-3: #6B2B00;
  --ghrm-primary-shade-4: #3D1800;
  --ghrm-secondary-tint-1: #3A434F;
  --ghrm-secondary-tint-2: #5E656F;
  --ghrm-secondary-tint-3: #93989F;
  --ghrm-secondary-tint-4: #D7D8DB;
  --ghrm-secondary-shade-1: #1B2430;
  --ghrm-secondary-shade-2: #161E28;
  --ghrm-secondary-shade-3: #11161E;
  --ghrm-secondary-shade-4: #0B0E13;
  --ghrm-neutral-50: #FAFAFA;
  --ghrm-neutral-100: #F4F5F5;
  --ghrm-neutral-200: #E5E7EB;
  --ghrm-neutral-300: #D1D5DB;
  --ghrm-neutral-400: #9CA3AF;
  --ghrm-neutral-500: #6B7280;
  --ghrm-neutral-600: #4B5563;
  --ghrm-neutral-700: #374151;
  --ghrm-neutral-800: #1F2937;
  --ghrm-neutral-900: #111827;
  --ghrm-neutral-950: #080C14;
  --ghrm-text-primary: #111827;
  --ghrm-text-secondary: #374151;
  --ghrm-text-muted: #6B7280;
  --ghrm-text-subtle: #9CA3AF;
  --ghrm-text-inverse: #FFFFFF;
  --ghrm-text-link: #FF6600;
  --ghrm-text-link-hover: #CC5200;
  --ghrm-heading: #111827;
  --ghrm-heading-inverse: #FFFFFF;
  --ghrm-bg-default: #FFFFFF;
  --ghrm-bg-subtle: #FAFAFA;
  --ghrm-bg-muted: #F4F5F5;
  --ghrm-bg-inverse: #111827;
  --ghrm-bg-inverse-subtle: #1F2937;
  --ghrm-bg-primary-subtle: #FFF7F0;
  --ghrm-bg-accent-subtle: #ECFDF5;
  --ghrm-border-subtle: #F4F5F5;
  --ghrm-border-default: #E5E7EB;
  --ghrm-border-strong: #D1D5DB;
  --ghrm-border-inverse: #374151;
  --ghrm-focus-ring: #FFB27F;
  --ghrm-selection-bg: #FFD9BF;
  --ghrm-selection-text: #7A2F00;
  --ghrm-status-success-subtle: #DCFCE7;
  --ghrm-status-success: #16A34A;
  --ghrm-status-success-text: #14532D;
  --ghrm-status-error-subtle: #FEE2E2;
  --ghrm-status-error: #DC2626;
  --ghrm-status-error-text: #7F1D1D;
  --ghrm-status-warning-subtle: #FEF3C7;
  --ghrm-status-warning: #D97706;
  --ghrm-status-warning-text: #78350F;
  --ghrm-status-info-subtle: #DBEAFE;
  --ghrm-status-info: #2563EB;
  --ghrm-status-info-text: #1E3A8A;
  --ghrm-primary-alpha-08: rgba(255,102,0,.08);
  --ghrm-primary-alpha-12: rgba(255,102,0,.12);
  --ghrm-primary-alpha-20: rgba(255,102,0,.20);
  --ghrm-primary-alpha-50: rgba(255,102,0,.50);
  --ghrm-secondary-alpha-08: rgba(31,41,55,.08);
  --ghrm-secondary-alpha-12: rgba(31,41,55,.12);
  --ghrm-secondary-alpha-50: rgba(31,41,55,.50);
  --ghrm-overlay-light: rgba(255,255,255,.84);
  --ghrm-overlay-dark: rgba(17,24,39,.72);
  --ghrm-shadow-color: rgba(17,24,39,.12);
  --ghrm-shadow-color-strong: rgba(17,24,39,.20);
  --ghrm-font-heading: "Inter", Arial, sans-serif;
  --ghrm-font-body: "Inter", Arial, sans-serif;
  --ghrm-font-ui: "Inter", Arial, sans-serif;
  --ghrm-type-display-lg: clamp(4rem, calc(3rem + 4.4444vw), 7rem);
  --ghrm-type-display-md: clamp(3.25rem, calc(2.5rem + 3.3333vw), 5.5rem);
  --ghrm-type-display-sm: clamp(2.75rem, calc(2.25rem + 2.2222vw), 4.25rem);
  --ghrm-type-h1: clamp(2.25rem, calc(1.9167rem + 1.4815vw), 3.25rem);
  --ghrm-type-h2: clamp(1.875rem, calc(1.625rem + 1.1111vw), 2.625rem);
  --ghrm-type-h3: clamp(1.5rem, calc(1.3333rem + 0.7407vw), 2rem);
  --ghrm-type-h4: clamp(1.25rem, calc(1.125rem + 0.5556vw), 1.625rem);
  --ghrm-type-h5: clamp(1.0625rem, calc(0.9792rem + 0.3704vw), 1.3125rem);
  --ghrm-type-h6: clamp(1rem, calc(0.9583rem + 0.1852vw), 1.125rem);
  --ghrm-type-body-xl: clamp(1.375rem, calc(1.2917rem + 0.3704vw), 1.625rem);
  --ghrm-type-body-lg: clamp(1.125rem, calc(1.0417rem + 0.3704vw), 1.375rem);
  --ghrm-type-body: clamp(1rem, calc(0.9583rem + 0.1852vw), 1.125rem);
  --ghrm-type-body-sm: clamp(0.875rem, calc(0.8333rem + 0.1852vw), 1rem);
  --ghrm-type-text-xs: clamp(0.75rem, calc(0.7083rem + 0.1852vw), 0.875rem);
  --ghrm-type-nav-text: clamp(0.875rem, calc(0.8333rem + 0.1852vw), 1rem);
  --ghrm-type-button-text: clamp(0.875rem, calc(0.8333rem + 0.1852vw), 1rem);
  --ghrm-type-label-text: clamp(0.75rem, calc(0.7083rem + 0.1852vw), 0.875rem);
  --ghrm-type-stat-number: clamp(2.25rem, calc(1.6667rem + 2.5926vw), 4rem);
  --ghrm-leading-none: 1;
  --ghrm-leading-tight: 1.08;
  --ghrm-leading-snug: 1.2;
  --ghrm-leading-normal: 1.55;
  --ghrm-leading-relaxed: 1.7;
  --ghrm-tracking-tight: -0.02em;
  --ghrm-tracking-normal: 0em;
  --ghrm-tracking-wide: 0.05em;
  --ghrm-tracking-wider: 0.1em;
  --ghrm-weight-regular: 400;
  --ghrm-weight-medium: 500;
  --ghrm-weight-semibold: 600;
  --ghrm-weight-bold: 700;
  --ghrm-weight-extrabold: 800;
  --ghrm-space-0: 0px;
  --ghrm-space-xs: clamp(0.5rem, calc(0.4167rem + 0.3704vw), 0.75rem);
  --ghrm-space-s: clamp(0.75rem, calc(0.6667rem + 0.3704vw), 1rem);
  --ghrm-space-m: clamp(1rem, calc(0.8333rem + 0.7407vw), 1.5rem);
  --ghrm-space-l: clamp(1.5rem, calc(1.1667rem + 1.4815vw), 2.5rem);
  --ghrm-space-xl: clamp(2rem, calc(1.3333rem + 2.963vw), 4rem);
  --ghrm-space-2xl: clamp(3rem, calc(2rem + 4.4444vw), 6rem);
  --ghrm-space-3xl: clamp(4rem, calc(2.6667rem + 5.9259vw), 8rem);
  --ghrm-gap-0: 0px;
  --ghrm-gap-xs: clamp(0.5rem, calc(0.4167rem + 0.3704vw), 0.75rem);
  --ghrm-gap-s: clamp(0.75rem, calc(0.5833rem + 0.7407vw), 1.25rem);
  --ghrm-gap-m: clamp(1rem, calc(0.75rem + 1.1111vw), 1.75rem);
  --ghrm-gap-l: clamp(1.5rem, calc(1.1667rem + 1.4815vw), 2.5rem);
  --ghrm-gap-xl: clamp(2rem, calc(1.5rem + 2.2222vw), 3.5rem);
  --ghrm-gap-2xl: clamp(2.5rem, calc(1.6667rem + 3.7037vw), 5rem);
  --ghrm-gap-3xl: clamp(3.5rem, calc(2.3333rem + 5.1852vw), 7rem);
  --ghrm-viewport-min: 360px;
  --ghrm-viewport-max: 1440px;
  --ghrm-site-max: 1440px;
  --ghrm-container-wide: 1280px;
  --ghrm-container-main: 1180px;
  --ghrm-container-narrow: 960px;
  --ghrm-container-prose: 760px;
  --ghrm-container-copy: 680px;
  --ghrm-sidebar-width: 320px;
  --ghrm-page-gutter: clamp(1rem, calc(0.5rem + 2.2222vw), 2.5rem);
  --ghrm-page-gutter-double: clamp(2rem, calc(1rem + 4.4444vw), 5rem);
  --ghrm-row-fluid: min(calc(100% - clamp(2rem, calc(1rem + 2.2222vw), 5rem)), 73.75rem);
  --ghrm-row-wide-fluid: min(calc(100% - clamp(2rem, calc(1rem + 2.2222vw), 5rem)), 80rem);
  --ghrm-prose-fluid: min(calc(100% - 2rem), 47.5rem);
  --ghrm-header-height: clamp(4.5rem, calc(4rem + 2.2222vw), 6rem);
  --ghrm-header-height-compact: clamp(3.75rem, calc(3.5rem + 1.1111vw), 4.5rem);
  --ghrm-hero-min-height: min(820px, calc(100svh - 72px));
  --ghrm-touch-target: 44px;
  --ghrm-icon-xs: 16px;
  --ghrm-icon-s: 20px;
  --ghrm-icon-m: 24px;
  --ghrm-icon-l: 32px;
  --ghrm-icon-xl: 48px;
  --ghrm-icon-2xl: 64px;
  --ghrm-control-height-s: 40px;
  --ghrm-control-height: 48px;
  --ghrm-control-height-l: 56px;
  --ghrm-textarea-min-height: 144px;
  --ghrm-logo-height: clamp(2.25rem, calc(1.9167rem + 1.4815vw), 3.25rem);
  --ghrm-avatar-s: 40px;
  --ghrm-avatar-m: 56px;
  --ghrm-avatar-l: 88px;
  --ghrm-aspect-landscape: 1.7777778;
  --ghrm-aspect-card: 1.3333333;
  --ghrm-aspect-portrait: .75;
  --ghrm-aspect-square: 1;
  --ghrm-radius-none: 0px;
  --ghrm-radius-xs: 4px;
  --ghrm-radius-s: 6px;
  --ghrm-radius-m: 10px;
  --ghrm-radius-l: 16px;
  --ghrm-radius-xl: 24px;
  --ghrm-radius-full: 999px;
  --ghrm-border-none: 0px;
  --ghrm-border-xs: 1px;
  --ghrm-border-s: 2px;
  --ghrm-border-m: 3px;
  --ghrm-border-l: 4px;
  --ghrm-border-xl: 6px;
  --ghrm-duration-instant: 80ms;
  --ghrm-duration-fast: 150ms;
  --ghrm-duration-base: 250ms;
  --ghrm-duration-slow: 400ms;
  --ghrm-duration-slower: 650ms;
  --ghrm-translate-hover: -4px;
  --ghrm-scale-hover: 1.02;
  --ghrm-z-base: 0;
  --ghrm-z-raised: 10;
  --ghrm-z-sticky: 100;
  --ghrm-z-dropdown: 200;
  --ghrm-z-overlay: 500;
  --ghrm-z-modal: 1000;
  --ghrm-z-toast: 1200;
  --ghrm-focus-width: 2px;
  --ghrm-focus-offset: 3px;
  --ghrm-grid-min-card: 280px;
  --ghrm-grid-min-service: 300px;
  --ghrm-grid-min-content: 340px;
  --ghrm-section-compact: clamp(2.5rem, calc(2rem + 2.2222vw), 4rem);
  --ghrm-section-standard: clamp(4rem, calc(3rem + 4.4444vw), 7rem);
  --ghrm-section-spacious: clamp(5rem, calc(3.6667rem + 5.9259vw), 9rem);
  --ghrm-reading-width: 68ch;
  --ghrm-button-min-width: 144px;
  --ghrm-shadow-none: 0 0 0 rgba(0,0,0,0);
  --ghrm-shadow-xs: 0 1px 2px rgba(17,24,39,.06);
  --ghrm-shadow-s: 0 4px 12px rgba(17,24,39,.08);
  --ghrm-shadow-m: 0 10px 30px rgba(17,24,39,.10);
  --ghrm-shadow-l: 0 20px 48px rgba(17,24,39,.14);
  --ghrm-shadow-hover: 0 24px 56px rgba(17,24,39,.18);
  --ghrm-shadow-focus: 0 0 0 4px rgba(255,102,0,.20);
  --ghrm-ease-standard: cubic-bezier(.2,.8,.2,1);
  --ghrm-ease-in: cubic-bezier(.4,0,1,1);
  --ghrm-ease-out: cubic-bezier(0,0,.2,1);
  --ghrm-ease-in-out: cubic-bezier(.4,0,.2,1);
  --ghrm-gradient-primary: linear-gradient(135deg,#FF6600 0%,#FF8533 100%);
  --ghrm-gradient-hero: linear-gradient(135deg,#111827 0%,#1F2937 62%,#3A2518 100%);
  --ghrm-gradient-soft: linear-gradient(135deg,#FFF7F0 0%,#FFFFFF 100%);
  --ghrm-gradient-people: linear-gradient(120deg,#FF6600 0%,#6C5CE7 50%,#3B82F6 100%);
  --ghrm-gradient-success: linear-gradient(135deg,#10B981 0%,#059669 100%);
  --ghrm-gradient-overlay: linear-gradient(180deg,rgba(17,24,39,.20) 0%,rgba(17,24,39,.84) 100%);
}

html { scroll-behavior: smooth; }
body { color: var(--ghrm-text-secondary); background: var(--ghrm-bg-default); font-family: var(--ghrm-font-body); font-size: var(--ghrm-type-body); line-height: var(--ghrm-leading-normal); }
::selection { background: var(--ghrm-selection-bg); color: var(--ghrm-selection-text); }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline: var(--ghrm-focus-width) solid var(--ghrm-brand-primary); outline-offset: var(--ghrm-focus-offset); box-shadow: var(--ghrm-shadow-focus); }

/* Layout */
.ghrm-container { width: var(--ghrm-row-fluid); max-width: var(--ghrm-container-main); margin-inline:auto; }
.ghrm-container-wide { width: var(--ghrm-row-wide-fluid); max-width: var(--ghrm-container-wide); margin-inline:auto; }
.ghrm-prose { width:min(100%,var(--ghrm-reading-width)); }
.ghrm-section-compact { padding-block:var(--ghrm-section-compact); }
.ghrm-section { padding-block:var(--ghrm-section-standard); }
.ghrm-section-spacious { padding-block:var(--ghrm-section-spacious); }
.ghrm-grid-auto-card { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ghrm-grid-min-card)),1fr)); gap:var(--ghrm-gap-m); }
.ghrm-grid-auto-service { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--ghrm-grid-min-service)),1fr)); gap:var(--ghrm-gap-l); }
.ghrm-stack { display:flex; flex-direction:column; gap:var(--ghrm-gap-m); }
.ghrm-cluster { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ghrm-gap-s); }

/* Components */
.ghrm-card { background:var(--ghrm-bg-default); border:var(--ghrm-border-xs) solid var(--ghrm-border-default); border-radius:var(--ghrm-radius-l); padding:var(--ghrm-space-l); box-shadow:var(--ghrm-shadow-s); transition:transform var(--ghrm-duration-base) var(--ghrm-ease-standard),box-shadow var(--ghrm-duration-base) var(--ghrm-ease-standard),border-color var(--ghrm-duration-fast) var(--ghrm-ease-standard); }
.ghrm-card:hover { transform:translateY(var(--ghrm-translate-hover)); box-shadow:var(--ghrm-shadow-hover); border-color:var(--ghrm-primary-tint-2); }
.ghrm-card-featured { border-inline-start:var(--ghrm-border-l) solid var(--ghrm-brand-primary); }
.ghrm-button { min-block-size:var(--ghrm-touch-target); min-inline-size:var(--ghrm-button-min-width); display:inline-flex; align-items:center; justify-content:center; gap:var(--ghrm-gap-xs); padding:var(--ghrm-space-s) var(--ghrm-space-m); border-radius:var(--ghrm-radius-m); font:var(--ghrm-weight-semibold) var(--ghrm-type-button-text)/1 var(--ghrm-font-ui); text-decoration:none; transition:transform var(--ghrm-duration-fast) var(--ghrm-ease-standard),background-color var(--ghrm-duration-fast) var(--ghrm-ease-standard),border-color var(--ghrm-duration-fast) var(--ghrm-ease-standard); }
.ghrm-button-primary { color:var(--ghrm-text-inverse); background:var(--ghrm-brand-primary); border:var(--ghrm-border-s) solid var(--ghrm-brand-primary); }
.ghrm-button-primary:hover { background:var(--ghrm-primary-shade-1); border-color:var(--ghrm-primary-shade-1); transform:translateY(-2px); }
.ghrm-button-outline { color:var(--ghrm-brand-primary); background:transparent; border:var(--ghrm-border-s) solid var(--ghrm-brand-primary); }
.ghrm-gradient-primary { background-image:var(--ghrm-gradient-primary); }
.ghrm-gradient-hero { background-image:var(--ghrm-gradient-hero); }
.ghrm-gradient-soft { background-image:var(--ghrm-gradient-soft); }
.ghrm-gradient-people { background-image:var(--ghrm-gradient-people); }

@media (max-width: 980px) { .ghrm-split { flex-direction:column; align-items:stretch; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .ghrm-card:hover,.ghrm-button:hover { transform:none; } }
