/* ============================================================
   Marta — Token system
   Direzione "Su misura": carta tecnica, linee di costruzione,
   il rosso come segno. Unica fonte di verita' per colore, tipo,
   spazio, movimento.
   ============================================================ */

/* — Tipografia self-hosted (CSP default-src 'self': nessun CDN) — */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/JetBrainsMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Medium.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Variable.woff2') format('woff2-variations');
  font-weight: 300 700; font-style: normal; font-display: swap;
}

/* Cirillico (bulgaro): stessi family, solo per i caratteri cirillici */
@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Regular-cyrillic.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Medium-cyrillic.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Ubuntu';
  src: url('../fonts/Ubuntu-Bold-cyrillic.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Variable-cyrillic.woff2') format('woff2-variations');
  font-weight: 300 700; font-style: normal; font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  /* — Palette — il rosso e' un segno, non un fondo — */
  --marta-red:        #E8412C;   /* il filo: tratti, misure, segni */
  --marta-red-cta:    #D93A24;   /* fondo dei pulsanti: testo bianco a 4.5:1 */
  --marta-red-deep:   #B92E1B;   /* pressione maggiore sul segno */
  --marta-red-ink:    #B92E1B;   /* il rosso quando fa testo piccolo su carta */
  --marta-red-soft:   #F6E4DF;   /* velatura, quasi solo per fondi tenui */
  --marta-red-glow:   rgba(232, 65, 44, 0.16);

  --ink:              #14110F;   /* inchiostro caldo, non nero freddo */
  --ink-2:            #1E1A17;   /* superficie scura secondaria */
  --ink-3:            #2A2521;
  --paper:            #F7F5F1;   /* carta tecnica */
  --paper-2:          #EFEBE4;   /* margine, superficie di appoggio */
  --paper-3:          #E2DCD2;
  --mute:             #6B655E;   /* annotazione a matita */
  --mute-2:           #736C64;   /* annotazione tenue */
  --hairline:         #DDD6CA;   /* linea di taglio */
  --hairline-dark:    #322C27;

  --white:            #FFFDFA;   /* carta piu' chiara, non bianco puro */

  /* Linee di costruzione — la firma del sito */
  --dash:             rgba(20, 17, 15, 0.22);
  --dash-soft:        rgba(20, 17, 15, 0.10);
  --dash-dark:        rgba(255, 253, 250, 0.20);
  --dash-dark-soft:   rgba(255, 253, 250, 0.09);

  /* — Typography — */
  --type-display: 'Ubuntu', system-ui, sans-serif;
  --type-body:    'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --type-mono:    'JetBrains Mono', 'SF Mono', Menlo, Consolas, monospace;

  /* Ubuntu non ha asse di larghezza: i token restano per compatibilita'
     con le regole che li citano, ma non alterano piu' il disegno. */
  --stretch-display: normal;
  --stretch-wide:    normal;

  --fs-100:  clamp(0.70rem, 0.66rem + 0.18vw, 0.80rem);
  --fs-200:  clamp(0.81rem, 0.77rem + 0.20vw, 0.92rem);
  --fs-300:  clamp(0.94rem, 0.88rem + 0.26vw, 1.06rem);
  --fs-400:  clamp(1.02rem, 0.94rem + 0.36vw, 1.18rem);
  --fs-500:  clamp(1.16rem, 1.04rem + 0.52vw, 1.42rem);
  --fs-600:  clamp(1.38rem, 1.20rem + 0.78vw, 1.80rem);
  --fs-700:  clamp(1.70rem, 1.40rem + 1.30vw, 2.60rem);
  --fs-800:  clamp(2.20rem, 1.70rem + 2.30vw, 3.90rem);
  --fs-900:  clamp(2.90rem, 2.00rem + 4.20vw, 6.20rem);
  --fs-hero: clamp(3.40rem, 1.60rem + 8.00vw, 13.00rem);
  --fs-step: clamp(4.20rem, 2.80rem + 6.00vw, 10.00rem);

  --lh-tight:  0.94;
  --lh-snug:   1.12;
  --lh-normal: 1.42;
  --lh-prose:  1.66;

  --tracking-tight:  -0.018em;
  --tracking-snug:   -0.014em;
  --tracking-normal:  0;
  --tracking-wide:    0.10em;   /* etichette mono: spaziate come su un disegno */

  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* — Spazio — una sola scala, in vw con limiti (Marco: no valori fissi) — */
  --space-1:   clamp(0.25rem, 0.30vw, 0.45rem);
  --space-2:   clamp(0.50rem, 0.58vw, 0.85rem);
  --space-3:   clamp(0.75rem, 0.88vw, 1.30rem);
  --space-4:   clamp(1.00rem, 1.15vw, 1.70rem);
  --space-5:   clamp(1.50rem, 1.75vw, 2.60rem);
  --space-6:   clamp(2.00rem, 2.40vw, 3.60rem);
  --space-7:   clamp(3.00rem, 3.50vw, 5.20rem);
  --space-8:   clamp(4.00rem, 4.80vw, 7.20rem);
  --space-9:   clamp(6.00rem, 6.80vw, 10.00rem);
  --space-10:  clamp(8.00rem, 9.00vw, 13.50rem);
  --space-11:  clamp(10.00rem, 12.00vw, 18.00rem);
  --space-12:  clamp(12.00rem, 16.00vw, 24.00rem);

  /* — Layout — 90% della viewport ovunque, nessun max-width di pagina — */
  --page-width:     90%;
  --container-max:  none;
  --container-wide: none;
  --container-narrow: none;

  /* La leggibilita' non e' negoziabile: la colonna di prosa ha la sua
     misura DENTRO il 90%, non il contenitore. */

  /* Griglia "cartamodello": binario | corpo | annotazioni a margine */
  --rail-w:   clamp(3.5rem, 7vw, 9rem);
  --margin-w: clamp(0rem, 22vw, 26rem);

  --header-h:   clamp(3.75rem, 5.4vw, 4.75rem);

  /* Angoli quasi vivi: qui si taglia, non si arrotonda */
  --radius-sm: 0.125rem;
  --radius-md: 0.1875rem;
  --radius-lg: 0.25rem;
  --radius-xl: 0.375rem;
  --radius-pill: 62.4375rem;

  /* — Texture: reticolo del foglio tecnico — */
  --grid-line: rgba(255, 253, 250, 0.045);
  --grid-line-light: rgba(20, 17, 15, 0.045);
  --grid-size: clamp(2rem, 3vw, 3.5rem);

  /* — Ombre: carta su carta, offset netto, mai sfocatura morbida — */
  --shadow-1: none;
  --shadow-2: 0.1875rem 0.1875rem 0 rgba(20, 17, 15, 0.07);
  --shadow-3: 0.375rem 0.375rem 0 rgba(20, 17, 15, 0.09);
  --shadow-cta: 0.1875rem 0.1875rem 0 rgba(185, 46, 27, 0.30);
  --shadow-glow: 0 0 0 0.1875rem var(--marta-red-glow);
  --shadow-modal: 0 2rem 5rem rgba(20, 17, 15, 0.28);

  /* — Motion — */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:    160ms;
  --dur-normal:  300ms;
  --dur-slow:    620ms;
  --dur-slower:  1100ms;

  /* — Z-index — */
  --z-base:     1;
  --z-header:   100;
  --z-overlay:  500;
  --z-toast:    1000;
  --z-modal:    2000;

  /* — Sezioni — un solo ritmo verticale in tutto il sito — */
  --section-py: clamp(4.5rem, 7vw, 10rem);
  --section-py-tight: clamp(2.5rem, 3.4vw, 5rem);
}

/* Onda Marta come colore corrente */
.wave {
  color: var(--marta-red);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
