/* tokens.css — Vacuserv
 * Sursa unică de adevăr pentru culoare, tipografie, spacing, umbre (CLAUDE.md §3, §8).
 * Niciun hex hardcodat în componente (checklist §19).
 *
 * PROVIZORIU (05.10.2026): nu avem încă nicio fotografie a lor, deci paleta nu e derivată
 * din poze (§17 pasul 4). E derivată din singurul material real: logo-ul — culorile
 * măsurate pe pixeli în assets/logo-site-vechi.png — plus neutre în nuanța cernelii lui.
 * Când vin pozele din atelier, neutrele se refac pe k-means; roșul și verdele rămân.
 */

@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url('assets/fonts/Archivo-var.woff2') format('woff2-variations'),
       url('assets/fonts/Archivo-var.woff2') format('woff2');
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 100 800;
  font-stretch: 75% 112.5%;
  font-display: swap;
  src: url('assets/fonts/MartianMono-var.woff2') format('woff2-variations'),
       url('assets/fonts/MartianMono-var.woff2') format('woff2');
}

:root {
  /* --- Paletă --------------------------------------------------------------------
     Din logo, măsurat:  cerneala #0E100A (cuvântul VACUSERV și rețeaua),
                         roșu #B6272E (cele două puncte de jos, accentul site-ului vechi),
                         verde #19AB54 (cele două puncte din mijloc).
     Neutrele: nuanța cernelii (galben-verzui, aproape fără saturație), nu crem.
     Roșul e SEMNAL (acul manometrului, starea), nu decor. Verdele = „presiune atinsă". */
  --c-aer:          #ECEEE9;   /* fundalul deschis: camera plină de aer */
  --c-aer-ridicat:  #F7F8F5;   /* suprafață ridicată pe fundalul deschis */
  --c-cerneala:     #0E100A;   /* textul și moleculele pe deschis */
  --c-cerneala-2:   #5B6056;   /* text secundar pe deschis */
  --c-vid:          #0E100A;   /* fundalul de vid înalt — o singură secțiune */
  --c-vid-ridicat:  #171A13;
  --c-lumina:       #E6E9E2;   /* textul și moleculele pe întuneric */
  --c-lumina-2:     #8A9084;   /* text secundar pe întuneric */
  --c-semnal:       #B6272E;   /* roșul din logo */
  --c-semnal-vid:   #E0565B;   /* același roșu, deschis ca să se citească pe întuneric */
  --c-ok:           #19AB54;   /* verdele din logo */
  --c-linie:        rgb(14 16 10 / .14);
  --c-linie-vid:    rgb(230 233 226 / .16);

  /* Perechi de contrast, măsurate (WCAG):
     cerneala   pe aer  16,4 · pe aer-ridicat 18,0
     cerneala-2 pe aer   5,5
     semnal     pe aer   5,4   — merge și ca text
     lumina     pe vid  15,6
     lumina-2   pe vid   5,8
     semnal     pe vid   3,0   — DOAR grafică (ac, linie), niciodată text → semnal-vid 5,2
     ok         pe vid   6,4
     ok         pe aer   2,6   — NU se folosește pe deschis */

  /* --- Tipografie: familii -------------------------------------------------------
     Testul de diacritice §13 (unelte/test_diacritice.py, 05.10): ș ț cu virgulă OK,
     ă â î OK, la 48 și la 150 px. Niciunul nu are „⁻" (minus la exponent) → exponenții
     se scriu cu <sup>−9</sup>, nu cu caractere Unicode. */
  --font-display: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
  --font-body:    'Archivo', system-ui, sans-serif;
  --font-mono:    'Martian Mono', ui-monospace, 'Consolas', monospace;
  --lat-display:  125%;    /* Archivo lățit: ca literele din „VACUSERV" */
  --lat-mono:     100%;
  --lat-eticheta: 87.5%;

  /* --- Tipografie: scară (§6) --------------------------------------------------- */
  --step--1: 0.875rem;                                 /* 14 px: etichete, majuscule */
  --step-0:  clamp(1.0625rem, 0.98rem + 0.3vw, 1.1875rem); /* 17–19 px: corp */
  --step-1:  clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --step-2:  clamp(1.5rem, 1.25rem + 1.1vw, 2.125rem);
  --step-3:  clamp(1.875rem, 1.4rem + 2vw, 3rem);
  --step-4:  clamp(2.25rem, 1.5rem + 3.2vw, 4.25rem);
  /* Trepte editoriale — câte o dată pe ecran */
  --step-6:  clamp(3rem, 1.5rem + 6.5vw, 7.5rem);
  --step-7:  clamp(3.5rem, 1rem + 10vw, 10rem);        /* citirea manometrului */

  --lh-corp: 1.6;
  --lh-titlu: 1.04;
  --track-eticheta: 0.14em;

  /* --- Spacing ------------------------------------------------------------------ */
  --s-1: 0.25rem;  --s-2: 0.5rem;  --s-3: 0.75rem; --s-4: 1rem;
  --s-5: 1.5rem;   --s-6: 2rem;    --s-7: 3rem;    --s-8: 4.5rem;  --s-9: 7rem;
  --margine: clamp(1rem, 0.5rem + 3vw, 3.5rem);   /* marginea laterală a paginii */

  /* --- Radius: tehnic, aproape drept -------------------------------------------- */
  --r-mic: 2px;
  --r-buton: 999px;

  /* --- Umbre: lumină de sus (iluminat de hală), în nuanța cernelii --------------- */
  --shadow-color: 14 16 10;
  --umbra-1: 0 1px 2px rgb(var(--shadow-color) / .10), 0 6px 18px -8px rgb(var(--shadow-color) / .22);

  /* --- Mișcare (§21, „specializat / tehnic"): scurtă și exactă ------------------- */
  --durata: 0.7s;
  --ease-precis: cubic-bezier(.215, .61, .355, 1);   /* power3.out */
}
