/* Charte Stamped (design-system/MASTER.md) : papier sand, encre ink, tampon terracotta.
   Une seule fonte, League Spartan 700, servie localement (pas d'appel Google). */
@font-face {
  font-family: 'League Spartan';
  src: url('/assets/league-spartan-700.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
}

:root {
  --paper: #FAF8F5;      /* sand-50 */
  --paper-2: #F3EEE7;    /* sand-100 */
  --hairline: #E8E0D5;   /* sand-200 */
  --ink: #141B30;        /* ink-900 */
  --ink-muted: #45577F;  /* ink-500 */
  --cover: #1F2A44;      /* ink-800 */
  --stamp: #A4521F;      /* terracotta-600, texte AA sur papier */
  --display: 'League Spartan', system-ui, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #0E1322; --paper-2: #141B30; --hairline: #2F3F66;
    --ink: #FAF8F5; --ink-muted: #B9C4DB; --stamp: #E29268;
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.6 system-ui, -apple-system, 'Segoe UI', sans-serif;
}
a { color: var(--stamp); text-underline-offset: 3px; }

.top, footer, .doc { max-width: 720px; margin: 0 auto; padding: 0 24px; }
.top { padding-top: 24px; }
.brand {
  display: inline-flex; align-items: center; gap: 10px;
  font: 700 22px var(--display); color: var(--ink); text-decoration: none;
}

.doc { padding-top: 32px; padding-bottom: 64px; }
.doc h1 { font: 700 clamp(30px, 6vw, 44px)/1.1 var(--display); margin: 0 0 8px; letter-spacing: -0.5px; }
.doc h2 {
  font: 700 13px var(--display); text-transform: uppercase; letter-spacing: 2.5px;
  color: var(--ink-muted); margin: 48px 0 12px; padding-top: 16px; border-top: 1px solid var(--hairline);
}
.doc h3 { font: 700 20px/1.3 var(--display); margin: 32px 0 8px; }
.doc p, .doc li { color: var(--ink); }
.doc h1 + p { color: var(--ink-muted); font-size: 15px; }
.doc ul { padding-left: 20px; }
.doc li { margin: 4px 0; }

.table { overflow-x: auto; margin: 16px 0; }
table { border-collapse: collapse; width: 100%; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--hairline); }
th { font: 700 11px var(--display); text-transform: uppercase; letter-spacing: 2px; color: var(--ink-muted); }

footer { padding-top: 24px; padding-bottom: 40px; border-top: 1px solid var(--hairline); font-size: 14px; color: var(--ink-muted); }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 8px; }
footer nav a { color: var(--ink-muted); }
footer nav a[aria-current] { color: var(--ink); text-decoration: none; }

/* Accueil provisoire */
.hero { min-height: 70vh; display: grid; place-content: center; text-align: center; gap: 16px; padding: 48px 24px; }
.hero img { margin: 0 auto; transform: rotate(-8deg); }
.hero h1 { font: 700 clamp(44px, 11vw, 80px)/1 var(--display); margin: 0; letter-spacing: -1px; }
.hero p { margin: 0 auto; max-width: 30ch; font-size: 20px; color: var(--ink-muted); }
.hero .soon {
  justify-self: center; margin-top: 8px; padding: 8px 16px; border: 2px solid var(--stamp); border-radius: 6px;
  font: 700 12px var(--display); text-transform: uppercase; letter-spacing: 3px; color: var(--stamp);
  transform: rotate(-3deg);
}
