/* ────────────────────────────────────────────────────────
   P3 CONSULTING · PERIMETRO · design tokens
   Riferimento: brandbook v1.0 — §06 Palette + token, §07 Typography
   ──────────────────────────────────────────────────────── */

:root {
  /* Grafite scale (caldo) */
  --grafite-950:#0F1115;
  --grafite-900:#15171C;
  --grafite-850:#1A1D23;
  --grafite-800:#1F2229;
  --grafite-700:#2C3038;
  --grafite-600:#3D424C;
  --grafite-500:#565C68;

  /* Bone (osso) */
  --bone:#EFEDE6;
  --bone-dim:#B9B7AE;
  --bone-mute:#7E8189;

  /* Signal (un solo segnale) */
  --signal:#4DE6A1;
  --signal-dim:#2BA876;
  --signal-deep:#125E43;

  /* Semantici */
  --bg: var(--grafite-900);
  --bg-deep: var(--grafite-950);
  --bg-alt: var(--grafite-850);
  --surface: var(--grafite-800);
  --text: var(--bone);
  --text-dim: var(--bone-dim);
  --text-mute: var(--bone-mute);
  --line: var(--grafite-700);
  --line-soft: rgba(255,255,255,0.07);

  /* Type */
  --font-mono:'Spline Sans Mono', ui-monospace, monospace;
  --font-body:'Hanken Grotesk', system-ui, sans-serif;
  --font-spline:'Spline Sans', system-ui, sans-serif;

  /* Motion (brandbook §09) */
  --fast:160ms;
  --medium:320ms;
  --slow:600ms;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* Spacing rhythm */
  --wrap: 1220px;
  --pad-x: clamp(20px, 5vw, 56px);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--signal); color: var(--grafite-950); }

a { color: inherit; text-decoration:none; }
button { font: inherit; color: inherit; background:none; border:0; cursor:pointer; }
img, svg { display:block; max-width:100%; }

/* ── LANG-SWITCH ─────────────────────────────────────── */
.lang-switch {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: .1em; margin-left: 8px;
}
.lang-switch a {
  color: var(--bone-mute);
  padding: 5px 7px;
  border: 1px solid transparent;
  transition: color var(--fast) var(--ease), border-color var(--fast) var(--ease);
  line-height: 1;
}
.lang-switch a:hover { color: var(--text); border-color: var(--line); }
.lang-switch a[aria-current="true"] {
  background: #4DE6A1;
  color: #0F1115;
  border-color: #4DE6A1;
  font-weight: 700;
  border-radius: 3px;
}
@media(max-width:880px) { .lang-switch { display: none; } }
/* switcher lingua dentro il menu mobile (override del display:none sopra) */
.nav-mobile .lang-switch-m { display: inline-flex; gap: 8px; margin: 4px 0 26px; }
.nav-mobile .lang-switch-m a { font-size: 14px; padding: 8px 14px; }
