/* ============================================================
   tokens.css — PIC · Premium Immobilier Consulting
   Palette et typographie REPRISES du projet Claude Design de la marque
   (131d01ec-b36c-46eb-9f4c-e173cb83f947) : ce ne sont pas des couleurs
   déduites, ce sont celles de l'identité PIC.
   Marché servi : le Cameroun (Douala · Yaoundé).
   Aucun hex ailleurs que dans ce :root.
   ============================================================ */
:root {
  /* ── Identité PIC (reprise à l'identique du projet Design) ── */
  --noir:        #0B0B0C;
  --noir-2:      #131316;
  --or:          #C9A14A;
  --or-clair:    #E2C079;
  --creme:       #F5F1E8;
  --beton:       #C9C5BC;
  --beton-fonce: #6E6A63;
  --blanc:       #FBFAF7;

  /* Deux valeurs ajoutées, dérivées de la charte, pour tenir l'AA sur crème :
     l'or de marque (#C9A14A) ne fait que 2,3:1 sur le crème — il reste
     l'accent des aplats et des grands corps, jamais du texte courant. */
  --or-encre:    #7A5E18;  /* l'or, assombri, pour le TEXTE sur crème (AA mesuré) */
  --beton-encre: #5A5750;  /* le béton foncé, ajusté pour le texte secondaire (AA mesuré) */

  /* ── Typographie PIC ── */
  --font-display: 'Fraunces', 'display-fallback', serif;
  --font-body:    'General Sans', 'body-fallback', sans-serif;
  --font-mono:    'JetBrains Mono', 'mono-fallback', monospace;

  --step--1: clamp(0.78rem, 0.75rem + 0.15vw, 0.87rem);
  --step-0:  clamp(1rem, 0.96rem + 0.2vw, 1.1rem);
  --step-1:  clamp(1.12rem, 1.02rem + 0.5vw, 1.4rem);
  --step-2:  clamp(1.5rem, 1.2rem + 1.4vw, 2.4rem);
  --step-3:  clamp(2.2rem, 1.4rem + 3.6vw, 4.6rem);
  --step-4:  clamp(2.6rem, 1.4rem + 5.4vw, 6.2rem);
  --step-hero: clamp(3.4rem, 1rem + 11vw, 12.5rem);

  /* ── Espacement ── */
  --sp-1: 0.25rem; --sp-2: 0.5rem; --sp-3: 1rem; --sp-4: 1.5rem;
  --sp-5: 2.5rem;  --sp-6: 4rem;   --sp-7: 6rem; --sp-8: 9rem;

  /* ── Motion — la courbe signature de la charte PIC ── */
  --dur-fast: 200ms; --dur-med: 500ms; --dur-slow: 950ms;
  --ease:        cubic-bezier(0.6, 0.05, 0.05, 1);  /* --ease de la charte PIC */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.55, 0, 1, 0.45);

  /* ── Grille ── */
  --gutter: clamp(1.2rem, 6vw, 6rem);
  --container: 100rem;

}

/* Fallbacks anti-CLS — une règle par famille visible au-dessus de la ligne de flottaison */
@font-face {
  font-family: 'display-fallback';
  src: local('Georgia'), local('Times New Roman');
  size-adjust: 102%;
  ascent-override: 94%;
  descent-override: 24%;
}
@font-face {
  font-family: 'body-fallback';
  src: local('Helvetica Neue'), local('Trebuchet MS'), local('Verdana');
  size-adjust: 97%;
  ascent-override: 98%;
  descent-override: 24%;
}
@font-face {
  font-family: 'mono-fallback';
  src: local('Courier New');
  size-adjust: 112%;
  ascent-override: 95%;
  descent-override: 27%;
}

.no-js [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
