/* SWAY — socle commun (site + back-office)
   Palette de la charte : noir, gris brume, bleu, sable, sauge.
   Les teintes « voile » et « pâle » sont des déclinaisons claires de ces couleurs. */
:root {
  /* Charte */
  --noir: #000000;
  --brume: #A4AAAE;
  --bleu: #0C3470;
  --sable: #E3DFD7;
  --sauge: #848C78;

  /* Teintes de la planche d'inspiration (déclinées du sable et du taupe de la charte) */
  --taupe: #C2B19C;
  --taupe-fonce: #8F7E6B;
  --creme: #F1ECE4;

  /* Déclinaisons */
  --bleu-fonce: #082450;
  --bleu-pale: #B7C4DA;
  --bleu-voile: #E2E8F1;
  --sauge-fonce: #5B6351;
  --sauge-voile: #E4E7DE;
  --lin: #EDEAE4;
  --papier: #F7F5F1;
  --blanc: #FFFFFF;

  /* Texte et traits */
  --encre: #0F1012;
  --encre-2: #4C5055;
  --encre-3: #747980;
  --trait: rgba(0, 0, 0, .12);
  --trait-fort: rgba(0, 0, 0, .24);

  /* États (réservés au back-office et aux messages) */
  --ok: #2F7D62;
  --ok-voile: #E0EFE8;
  --attention: #9A6A1B;
  --attention-voile: #F6ECD8;
  --danger: #B0433B;
  --danger-voile: #F6E2DF;

  /* Typographies de la charte
     - Titres : condensée haute (Antonio, équivalent web de Kief Tek Tall)
     - Texte  : géométrique (Jost, équivalent web de Glacial Indifference ;
                pour utiliser les polices d'origine, voir README → Polices)
     - Accent : Petit Formal Script (police de la charte) */
  --titre: "Antonio", "Big Shoulders Display", "Big Shoulders", "Oswald", "Arial Narrow", sans-serif;
  --sans: "Glacial Indifference", "Jost", "Outfit", "Century Gothic", "Avenir Next", system-ui, sans-serif;
  --script: "Petit Formal Script", "Nothing You Could Do", "Snell Roundhand", cursive;

  --rayon: 14px;
  --rayon-s: 9px;
  --ombre: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 28px rgba(0, 0, 0, .07);
  --ombre-forte: 0 2px 6px rgba(0, 0, 0, .08), 0 24px 60px rgba(0, 0, 0, .16);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--encre);
  background: var(--sable);
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
[hidden] { display: none !important; }

:focus-visible { outline: 2px solid var(--bleu); outline-offset: 3px; border-radius: 4px; }

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

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