/* authorized_service_center — token del verticale.
   Palette PRESA DAI PIXEL del marchio del primo cliente (nero #020101 al 54%, rosso #E60617 al 29%
   sui pixel opachi del logo). Ogni coppia testo/fondo e' misurata sulla superficie REALE su cui viene
   usata, non su una superficie vicina.

   ⚠⚠ IL ROSSO DI MARCA HA TRE RUOLI DISTINTI, E NON SONO INTERCAMBIABILI.
   `--accent` (#E60617) e' SUPERFICIE: campo pieno, filetto, numero grande. Porta SOLO il bianco (4,77);
   il nero sopra fa 3,80 e non passa. Come inchiostro su chiaro NON regge: 4,77 su bianco ma 4,37 sulla
   superficie chiara, cioe' sotto soglia — ed e' esattamente la trappola del token verificato su UNA
   superficie e usato su un'ALTRA. Per l'accento testuale esistono due token separati:
     · `--accent-ink` (#C40615) sui fondi chiari — 6,21 su bianco, 5,69 sulla superficie;
     · `--accent-on-dark` (#FF4D57) sulle bande scure — 5,76 sul near-black (il marchio li' fa 3,93).
   15 coppie misurate prima di scrivere una riga di CSS: 12 passavano, 3 no, e i tre divieti qui sopra
   sono quelle tre. */

:root {
  /* --- ruoli semantici del genoma (nomi CHIUSI, condivisi da tutti i verticali) --- */
  --brand-dark: #A30411;   /* rosso profondo: stati premuti, filetti su chiaro */
  --brand: #E60617;        /* ROSSO DI MARCA: superficie e campi pieni — mai inchiostro su chiaro */
  --brand-mid: #5A6068;    /* grigio-ferro: testo secondario e separatori */
  --sage: #E2E5E8;         /* linea e bordi */
  --sage-light: #EDEFF2;   /* superficie alterna */
  --sage-tint: #F4F5F7;    /* banda chiara */
  --accent-ink: #C40615;   /* rosso INCHIOSTRO su chiaro: 6,21 su bianco · 5,69 su superficie */
  --accent: #E60617;       /* = brand: superficie */
  --accent-dark: #A30411;  /* rosso profondo */
  --accent-on-dark: #FF4D57; /* rosso INCHIOSTRO sulle bande scure: 5,76 sul near-black */
  --paper: #FFFFFF;
  --surface: #F4F5F7;      /* la banda chiara */
  --surface-alt: #EDEFF2;
  --night: #101216;        /* LA banda near-black: una sola per pagina, e' il respiro */
  --night-soft: #1B1E24;   /* tessere dentro la banda */
  --ink: #14161A;          /* 18,11 su bianco · 16,60 sulla banda chiara */
  --ink-muted: #5A6068;    /* 6,35 su bianco · 5,82 sulla banda chiara */
  --line: #E2E5E8;
  --on-dark: #FFFFFF;      /* 18,75 sul near-black · 16,70 sulle tessere scure */
  --on-dark-muted: #B9BEC6;/* 10,04 sul near-black */
  --focus: #C40615;
  /* ⚠⚠ Inchiostro SUL ROSSO. Sta fuori dalla rimappatura delle superfici scure: dentro una banda
     scura `--ink` diventa chiaro, ma il campo rosso resta rosso — e il rosso vuole il bianco sempre,
     su qualunque banda si trovi. Un token rimappato dal contesto non puo' vestire una superficie che
     dal contesto NON dipende. */
  --on-accent: #FFFFFF;

  /* --- tipografia: tre famiglie OFL self-hosted --- */
  --font-display: 'Space Grotesk', system-ui, -apple-system, sans-serif;
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  /* ⭐ Il MONO non e' decorativo: veste i DATI di questo mestiere — sigle dei ricambi, codici, orari,
     recapiti. E' la firma del verticale, e nessun altro verticale in flotta usa questa famiglia. */
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;

  /* ⚠⚠ IL GRADINO CHE MANCAVA. Sotto `--text-sm` non c'era token, e ogni micro-etichetta si e'
     inventata la sua misura: 0,68 · 0,70 · 0,72 · 0,74 · 0,76rem — cinque valori entro 1,3px, che
     nessuno distingue e che tolgono alla pagina l'aria di sistema. Misurate sul sito servito erano
     18 taglie distinte, 8 delle quali schiacciate fra 10,9 e 13,8px. Il registro mono ha UN ruolo
     — l'etichetta maiuscola spaziata — e quindi UNA taglia. */
  --text-xs: 0.78rem;
  --text-sm: 0.9rem;
  /* La misura di LETTURA. A 1rem il corpo stava a 16px: leggibile, ma e' la taglia di default del
     browser, e un testo che non dichiara nulla non sembra disegnato. 17px e' la misura di lettura. */
  --text-base: 1.0625rem;
  --text-md: 1.14rem;
  --text-lg: 1.42rem;
  --text-xl: 1.76rem;
  --text-2xl: 2.18rem;
  --text-3xl: clamp(2rem, 4.4vw, 3.5rem);   /* cap sull'h1: la copy vera e' piu' lunga di quella demo */

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 3.5rem;
  --space-9: 4.5rem;
  --space-10: 5.5rem;

  --lh-body: 1.62;
  --lh-heading: 1.08;
  --lh-snug: 1.3;
  --lh-tight: 1.12;
  --tracking-label: 0.14em;
  --radius: 0;              /* spigolo vivo: e' una scelta di categoria, non una dimenticanza */
  --radius-lg: 0;
  --radius-pill: 999px;
  --dur: 460ms;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --measure: 68ch;          /* misura di lettura: si applica ai PARAGRAFI, mai agli elementi di layout */
  --container: 1200px;

  /* ⚠ Token che le TOPOLOGIE CONDIVISE danno per presenti in ogni verticale (gate `topology`): un
     verticale nuovo che non li dichiara fa cadere il gate per tutti, perche' il controllo e' «presente
     in TUTTI». Non sono decorativi: sono la giunzione fra i componenti condivisi e i token del tema. */
  /* Altezza della testata FISSA: serve due volte — a restituire al contenuto lo spazio che la testata
     non occupa piu' (esce dal flusso) e a tarare lo scroll-margin delle ancore. Un solo numero, cosi'
     non possono divergere. */
  --header-row-h: 76px;
  --header-h: 77px;          /* riga + filetto inferiore */
  --bg: var(--paper);
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --section-y: clamp(3.5rem, 7vw, 6rem);
}
