/* Citoyenet — shared font faces + resets for the marketing site.
   Each visual direction layers its own design CSS on top of this. */

@font-face { font-family: 'Oswald'; src: url('fonts/Oswald-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Oswald'; src: url('fonts/Oswald-Medium.ttf') format('truetype'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Oswald'; src: url('fonts/Oswald-SemiBold.ttf') format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Oswald'; src: url('fonts/Oswald-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('fonts/SourceSans3-Variable.ttf') format('truetype'); font-weight: 300 700; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('fonts/SourceSans3-Italic.ttf') format('truetype'); font-weight: 300 700; font-style: italic; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--focus, #4F7BE0); outline-offset: 2px; }

/* shared brand color tokens (mirrors the design system) */
:root {
  --navy-950:#080C1E; --navy-900:#0E1430; --navy-800:#16204A; --navy-700:#1E2E66; --navy-600:#283C82;
  --blue-600:#234FB5; --blue-500:#2E5CC7; --blue-400:#4F7BE0; --blue-100:#DCE6FB; --blue-50:#EEF3FE;
  --gold-700:#9E7613; --gold-600:#C2941F; --gold-500:#E9B23C; --gold-400:#F5C84B; --gold-200:#F8E2A0; --gold-100:#FCF1D2;
  --flag-blue:#1B4DA0; --flag-red:#D8302C;
  --red-500:#E0322B; --green-600:#1F8B57; --green-500:#2FA46A; --green-100:#DDF3E8;
  --cream-50:#FCF9F2; --cream-100:#F6F0E3; --paper:#FFFFFF;
  --ink-900:#131A33; --ink-700:#36405E; --ink-500:#5E6885; --ink-400:#8A93AD; --ink-300:#BFC6D6; --ink-200:#E2E6EF; --ink-100:#EFF1F7;
  --on-navy-strong:#F4F6FF; --on-navy-muted:#A9B4D6; --on-navy-faint:#6C7AA6;
  --cat-institutions:#1F7A8C; --cat-valeurs:#2E5CC7; --cat-laicite:#5B57C9; --cat-histoire:#B4622B;
  --cat-personnalites:#C2941F; --cat-societe:#3C8C5A; --cat-gastronomie:#D8302C; --cat-europe:#1D4FB0;
  --cat-droits:#6B4FB8; --cat-entretien:#E9883C; --cat-geographie:#2FA46A; --cat-culture:#C0497E;
  --font-display:'Oswald','Arial Narrow',sans-serif;
  --font-body:'Source Sans 3',system-ui,-apple-system,sans-serif;
  --focus:#4F7BE0;
}

/* scroll-reveal (shared) */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.16,.84,.44,1), transform .7s cubic-bezier(.16,.84,.44,1); }
[data-reveal].in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; transition: none; } }

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