:root {
  --color-paper: oklch(100% 0 0);
  --color-paper-2: oklch(97% 0.008 250);
  --color-paper-3: oklch(92% 0.014 250);
  --color-ink: oklch(23.2865% 0.0854613 280.301);
  --color-ink-2: oklch(31% 0.09 280);
  --color-muted: oklch(76% 0.035 220);
  --color-rule: oklch(47% 0.09 260);
  --color-rule-2: oklch(36% 0.085 270);
  --color-accent: oklch(67.7042% 0.208489 24.6311);
  --color-accent-ink: oklch(100% 0 0);
  --color-focus: oklch(86.1716% 0.0689984 198.24);
  --color-logo-field: oklch(100% 0 0);
  --color-navy: oklch(23.2865% 0.0854613 280.301);
  --color-navy-2: oklch(17% 0.07 283);
  --color-coral: oklch(67.7042% 0.208489 24.6311);
  --color-cyan: oklch(86.1716% 0.0689984 198.24);
  --color-acid: oklch(86.5388% 0.185143 116.634);
  --color-white: oklch(100% 0 0);

  /* Carta delle pagine interne e inchiostri per scriverci sopra:
   * le tinte del marchio, scurite quanto basta per il testo piccolo. */
  --color-carta: oklch(98.4% 0.005 85);
  --color-filetto-carta: oklch(89% 0.014 275);
  --color-ink-muted: oklch(44% 0.06 280);
  --color-coral-ink: oklch(55% 0.19 27);
  --color-cyan-ink: oklch(50% 0.085 215);
  --color-acid-ink: oklch(53% 0.13 125);

  /* Una sola famiglia: IBM Plex Mono per tutto, nei pesi leggeri. */
  --font-display: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --font-body: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* Scala tipografica: sei gradini, ognuno con un ruolo solo.
   * display  → claim del hero
   * h2       → titolo di ogni sezione (tutti uguali)
   * h3       → nomi progetto, frase secondaria, email
   * lead     → paragrafi introduttivi
   * md       → testo corrente ed elenchi
   * xs       → etichette, metadati, footer */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lead: clamp(1.0625rem, 0.4vw + 0.95rem, 1.25rem);
  --text-h3: clamp(1.375rem, 0.8vw + 1.05rem, 1.875rem);
  --text-h2: clamp(1.75rem, 2.4vw + 1rem, 3.25rem);
  --text-display: clamp(2.125rem, 6vw + 1rem, 5rem);

  --leading-display: 1;
  --leading-heading: 1.08;
  --leading-snug: 1.45;
  --leading-body: 1.6;
  --leading-label: 1.5;

  --tracking-display: -0.04em;
  --tracking-heading: -0.03em;
  --tracking-label: 0.12em;

  --section-pad: clamp(var(--space-4xl), 8vw, var(--space-5xl));
  --ornament-height: 0.75rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-medium: 320ms;
  --dur-slow: 680ms;

  --rule-hairline: 1px;
  --radius-sm: 0.25rem;
  --radius-round: 999px;
}
