/* ══════════════════════════════════════════════
   BASE — Variables, reset, typographie
   ══════════════════════════════════════════════ */

/* ── Police locale GEA Sans Bold ── */
@font-face {
  font-family: 'GEA Sans';
  src: url('/assets/fonts/GEA-Sans-Bold.woff2') format('woff2');
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}

/* ── Variables CSS ── */
:root {
  --blue:        #1400ff;
  --blue-dk:     #0d00cc;
  --blue-deep:   #060040;
  --blue-mid:    #1a2b8f;
  --green:       #00e64d;
  --green-dk:    #00b83d;
  --white:       #ffffff;
  --gray-bg:     #f4f5f9;
  --gray-line:   #e2e4ed;
  --text:        #0f1022;
  --text-muted:  #5c607d;
  --radius-sm:   6px;
  --radius:      12px;
  --radius-lg:   20px;
  --shadow-sm:   0 2px 10px rgba(0,0,0,.08);
  --shadow:      0 6px 30px rgba(0,0,0,.12);
  --shadow-lg:   0 16px 60px rgba(0,0,0,.18);
  --transition:  .22s ease;
  --font:        'Inter', system-ui, Arial, sans-serif;
  --font-head:   'GEA Sans', 'Inter', system-ui, Arial, sans-serif;
}

/* ── Scrollbar personnalisée ── */
::-webkit-scrollbar              { width: 8px; height: 8px; }
::-webkit-scrollbar-track        { background: var(--blue-deep); }
::-webkit-scrollbar-thumb        { background: var(--blue); border-radius: 99px; border: 2px solid var(--blue-deep); }
::-webkit-scrollbar-thumb:hover  { background: var(--green); }
::-webkit-scrollbar-corner       { background: var(--blue-deep); }
*                                { scrollbar-width: thin; scrollbar-color: var(--blue) var(--blue-deep); }

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }
body  {
  font-family: var(--font);
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
}
img    { display: block; max-width: 100%; }
a      { text-decoration: none; color: inherit; }
ul     { list-style: none; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; }

/* ── Titres ── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: -.02em;
}

/* ── Utilitaires ── */
.container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.sr-only   { position: absolute; width: 1px; height: 1px; clip: rect(0,0,0,0); overflow: hidden; }

/* ── Animation scroll-reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s ease, transform .6s ease;
  transition-delay: var(--d, 0s);
}
.reveal.visible { opacity: 1; transform: none; }
