/* Tokens issus de la maquette — largeur de référence 1728 px. */

:root {
	--c-bg: #f9f9f9;
	--c-ink: #2e4e73;
	--c-accent: #3070ab;
	--c-deep: #143862;
	--c-line: #aab5c2;
	--c-light: #f9f9f9;
	--c-field: #fff;      /* fond des champs de formulaire (maquette contact) */
	--c-error: #b50d0c;   /* messages d'erreur et « aucun fichier choisi » */
	--c-card-line: #ddd;  /* bordure de la carte de paiement */
	--c-rule-soft: rgba(46, 78, 115, 0.4);

	--o-text: 0.7;

	--ff-display: "NORD", "Helvetica Neue", Arial, sans-serif;
	--ff-body: "DIN Pro", "Helvetica Neue", Arial, sans-serif;
	--ff-credit: "Poppins", var(--ff-body);

	/* 1728 px = 100vw à la largeur de référence. */
	--fs-eyebrow: 0.625rem;              /* 10 */
	--ls-eyebrow: 1px;
	--fs-h1: clamp(2.25rem, 4.0509vw, 4.375rem);        /* 70 */
	--lh-h1: 1.1286;                     /* 316 / 4 lignes rendues / 70 */
	--fs-h2: clamp(1.5rem, 1.7361vw, 1.875rem);         /* 30 */
	--lh-h2: 1.4;                        /* 42 / 30 */
	--fs-body: clamp(1rem, 1.1574vw, 1.25rem);          /* 20 */
	--lh-body: 1.5;                      /* 30 / 20 */
	--fs-list: clamp(1.375rem, 2.0255vw, 2.1875rem);    /* 35 */
	--lh-list: 1.1714;                   /* 41 / 35 */
	--ls-list: -0.00914em;               /* -0.32 à 35 px, pour scaler avec la police */
	--fs-card: clamp(1.25rem, 1.5571vw, 1.6816rem);     /* 26.905 */
	--lh-card: 1.2100;                   /* 32.555 / 26.905 */
	--ls-card: -0.02em;                  /* -0.5381 / 26.905 */
	--fs-nav: clamp(0.875rem, 0.9259vw, 1rem);          /* 16 */
	--lh-nav: 1.875;                     /* 30 / 16 */
	--fs-micro: 0.75rem;                 /* 12 */
	--lh-micro: 3.9167;                  /* 47 / 12 */
	--ls-micro: 1.2px;

	--gutter: clamp(1.25rem, 2.5463vw, 2.75rem);         /* 44 */
	--gutter-text: clamp(1.25rem, 2.8935vw, 3.125rem);   /* 50 */

	--canvas: 108rem;                    /* 1728 — largeur de référence de la maquette */
	--header-h: clamp(4rem, 5.0926vw, 5.5rem);           /* 88 */
	--rule: 1px;
	--dot: clamp(1.375rem, 1.7361vw, 1.875rem); /* 30 — pastille des liens fléchés */

	--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	/* Révélation : équivalents CSS des courbes GSAP retenues comme référence.
	   « expo.out » avale l'essentiel de la course dans le premier tiers puis
	   s'amortit longuement — c'est ce qui fait « ça se pose » plutôt que
	   « ça apparaît ». */
	--ease-reveal: cubic-bezier(0.16, 1, 0.3, 1);  /* expo.out  */
	--ease-power2: cubic-bezier(0.22, 0.61, 0.36, 1); /* power2.out */
	--ease-sine: cubic-bezier(0.61, 1, 0.88, 1);   /* sine.out  */
	--t-fast: 0.2s var(--ease);
	--t: 0.35s var(--ease);
}
