/* Tokens, reset, typographie */
/* Palette issue du logo : violet en dégradé, vert du serpent, jaune, crème */
:root {
  --violet: #744dc7;
  --violet-dark: #6e3e89;
  --green: #3e8948;
  --green-light: #63c74d;
  --green-dark: #265c31;
  --yellow: #d1e71b;
  --cream: #f3ecc1;

  --bg: #16101f;
  --bg-elev: #201730;
  --border: #33264a;
  --text: #f1ecdd;
  --muted: #b5a9c9;
  --accent: var(--green-light);
  --accent-hover: var(--yellow);
  --gradient: linear-gradient(45deg, var(--violet-dark), var(--violet));
  --radius: 14px;
  --max: 1080px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  display: flex; flex-direction: column;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
}
a { color: var(--accent); }
img { max-width: 100%; display: block; }
h1, h2, h3 { line-height: 1.15; margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: -.02em; }
h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); }
h3 { font-size: 1.2rem; }
h3 a { color: inherit; text-decoration: none; }
h3 a:hover { color: var(--accent); }

.eyebrow { color: var(--yellow);text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600; margin: 0 0 12px; }
.lead { color: var(--muted); font-size: 1.15rem; max-width: 60ch; }
