/* IvoireSogo : bases (couleurs, typographie, réinitialisation) */
:root {
  --palm: #0f4a32;
  --palm-dark: #0a3324;
  --palm-soft: #e3eee6;
  --paper: #f5f7f4;
  --surface: #ffffff;
  --ink: #14201a;
  --slate: #55645b;
  --line: #d9e1db;
  --kola: #c98f0a;
  --kola-ink: #7d5606;
  --kola-soft: #fbf0cf;
  --ok-soft: #ddf1e2;
  --ok-ink: #0d5a2c;
  --danger: #a3271f;

  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: "Bricolage Grotesque", "Segoe UI Semibold", system-ui, -apple-system, Arial, sans-serif;

  --radius: 8px;
  --radius-lg: 14px;
  --gutter: 1rem;
  --max: 72rem;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--ink);
  background: var(--paper);
}

img, svg, iframe { max-width: 100%; }
img { display: block; height: auto; }

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.015em;
  margin: 0 0 0.6rem;
  color: var(--ink);
}
h1 { font-size: clamp(1.85rem, 6vw, 2.9rem); }
h2 { font-size: clamp(1.4rem, 3.6vw, 1.9rem); }
h3 { font-size: 1.1rem; font-weight: 600; }

p { margin: 0 0 0.9rem; }

a { color: var(--palm); text-underline-offset: 0.18em; }
a:hover { color: var(--palm-dark); }

:focus-visible {
  outline: 3px solid var(--kola);
  outline-offset: 2px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: 0.5rem; top: -4rem; z-index: 100;
  background: var(--palm); color: #fff; padding: 0.7rem 1rem; border-radius: var(--radius);
}
.skip-link:focus { top: 0.5rem; }

.icon { flex: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
