/* heavy_vehicle_workshop — token del verticale.
   Palette PRESA DAI PIXEL del marchio del primo cliente (`#ffc040` dominante sul wordmark, 572 px) e
   confermata dal CSS del sito che il cliente ha già (`#ffc13c`). Ogni coppia testo/fondo è misurata
   sulla superficie reale su cui viene usata.

   ⚠⚠ L'AMBRA NON PORTA TESTO SU CHIARO, E NON PORTA MAI IL BIANCO.
   `--accent` misura 1,62 su bianco e 1,45 sulla superficie chiara: è SUPERFICIE, mai inchiostro.
   Sopra l'ambra va `--ink` (11,37), mai il bianco (1,62). Per l'accento testuale esistono due token
   distinti — `--accent-ink` sui fondi chiari (6,92 su bianco) e `--accent` stesso sulle bande scure
   (11,98 sul piè). È la stessa disciplina dell'ottone di security_institute e dell'oro di
   funeral_services, e il sito attuale del cliente sbaglia proprio qui.
   Verificate 21 coppie ammesse (tutte ≥ AA) e 5 vietate (tutte sotto soglia: il divieto è reale, non
   scritto in un verso solo). */

:root {
  /* --- ruoli semantici del genoma (nomi CHIUSI, condivisi da tutti i verticali) --- */
  --brand-dark: #0e0d0a;   /* nero di fonderia: piè e banda di chiusura */
  --brand: #15140f;        /* inchiostro e fondo scuro principale */
  --brand-mid: #22211b;    /* grigio-ferro: seconda banda scura */
  --sage: #e7e3d9;         /* sabbia: tessere e superfici intermedie */
  --sage-light: #f4f2ed;   /* superficie chiara: bande alterne */
  --sage-tint: #faf9f6;    /* tinta più leggera: fondo pagina */
  --accent-ink: #7a5200;   /* ambra-inchiostro su chiaro: 6,92 su bianco · 6,19 su superficie */
  --accent: #ffc13c;       /* AMBRA: superficie, campi pieni, filetti — mai testo su chiaro */
  --accent-dark: #e8a317;  /* ambra profonda: stati, mai testo (2,17 su bianco) */
  --paper: #ffffff;
  --surface: #f4f2ed;
  --ink: #15140f;          /* 18,44 su bianco · 16,48 su superficie · 11,37 sull'ambra */
  --ink-muted: #5c5849;    /* 7,13 su bianco · 6,37 su superficie */
  --line: #dcd8ce;
  --on-dark: #ffffff;      /* 18,44 sul fondo scuro · 19,43 sul piè */
  --on-dark-muted: #c8c3b4;/* 10,47 sul fondo scuro · 11,03 sul piè */
  --focus: #7a5200;
  /* ⚠⚠ Inchiostro SULL'AMBRA. Deve stare fuori dalla rimappatura delle superfici scure: dentro una
     banda scura `--ink` diventa bianco, ma il campo ambra resta ambra — e il bianco sull'ambra fa
     1,62. Un token rimappato dal contesto non può vestire una superficie che dal contesto NON dipende. */
  --on-accent: #15140f;

  /* --- alias di lettura: nel mestiere i nomi contano più delle sigle --- */
  --ferro: var(--brand-mid);
  --ambra: var(--accent);
  --ambra-ink: var(--accent-ink);
  --ambra-su-scuro: var(--accent);   /* 11,98 sul piè: sullo scuro l'ambra È l'inchiostro d'accento */
  --sabbia: var(--sage);

  /* --- tipografia: due famiglie OFL self-hosted (zero-live: mai un font remoto) ---
     Barlow Condensed porta i display: il set stretto serve ai titoli lunghi del mestiere
     («I professionisti della riparazione di balestre a Favara»). Il testo è Poppins, che è anche il
     font del corpo sul sito attuale del cliente. */
  --font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --font-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* La scala tipografica: i nomi `--text-*` sono quelli che l'emitter legge per derivare i fontSizes
     di theme.json (tokensOf lancia se ne manca uno). Gli alias `--t-*` sono la forma breve usata dal
     CSS del verticale: una sorgente sola, due nomi. ⚠ Dentro clamp() il `+` ESIGE gli spazi — senza,
     la dichiarazione è invalida e sparisce senza lasciare traccia nel sorgente. */
  --text-sm: .9375rem;
  --text-base: 1.0625rem;
  --text-md: 1.1875rem;
  --text-lg: 1.375rem;
  --text-xl: clamp(1.85rem, 1.2rem + 2.2vw, 2.7rem);
  --text-2xl: clamp(2.3rem, 1.3rem + 3.6vw, 3.9rem);
  --text-3xl: clamp(2.9rem, 1.4rem + 5.4vw, 5.4rem);

  --t-xs: .8125rem;
  --t-sm: var(--text-sm);
  --t-base: var(--text-base);
  --t-lg: var(--text-md);
  --t-xl: var(--text-xl);
  --t-2xl: var(--text-2xl);
  --t-3xl: var(--text-3xl);

  --lh-body: 1.68;
  --lh-heading: 1.04;
  /* ⚠ Questi cinque token non li consuma il CSS del verticale: li pretendono le TOPOLOGIE condivise,
     che possono usare solo i token comuni a TUTTI i verticali. Un verticale nuovo che non li dichiara
     restringe l'insieme comune e fa cadere il gate `topology` per l'intera flotta. */
  --lh-snug: 1.16;
  --lh-tight: 1.02;
  --tracking-label: 0.14em;
  --bg: var(--paper);

  /* --- misure --- */
  --container: 75rem;
  --gutter: clamp(1.25rem, 4vw, 3rem);
  --section-y: clamp(3.5rem, 7vw, 6.5rem);
  --space-1: .35rem;
  --space-2: .7rem;
  --space-3: 1.1rem;
  --space-4: 1.6rem;
  --space-5: 2.4rem;
  --space-6: 3.4rem;
  --space-7: 4.4rem;
  --space-8: 5.6rem;
  --space-9: 7rem;
  --space-10: 8.8rem;

  /* Raggio ZERO: officina, metallo, lamiera. Un angolo arrotondato qui è fuori mestiere. */
  --radius: 0px;
  --radius-lg: 0px;   /* preteso dalle topologie condivise */
  --ease: cubic-bezier(.2, .7, .3, 1);
}
