/* tokens.css - company-registration-italy.com (DESIGN.md is the contract; three layers: primitive -> semantic -> component)
 * Measured from design variant A (the owner's reference, context/design-brief.md) on 2026-10-09. */
:root {
  /* ---------- primitives ---------- */
  --navy-900: #002c50;
  --navy-700: #004379;            /* brief clause 2 */
  --navy-500: #2a5f8f;
  --navy-100: #dbe5ef;
  --cream-50: #fdfaf6;
  --cream-100: #faf5ef;           /* brief clause 3 */
  --stone-200: #e9e4dc;
  --stone-300: #d8d7d3;           /* hairlines, header glass */
  --apricot-400: #ed9f68;         /* brief clause 4 */
  --apricot-300: #f3bc95;
  --apricot-600: #9c521f;         /* apricot text on light grounds: 5.3:1 on cream, 5.0:1 on the grey tiles */
  --umber-700: #5e4740;
  --ink-800: #2b302d;
  --ink-600: #4b514d;
  --ink-400: #636864;             /* muted text: 5.2:1 on cream */
  --white: #ffffff;

  /* ---------- semantic ---------- */
  --bg: var(--cream-100);
  --bg-raised: var(--white);
  --bg-band: var(--navy-700);
  --bg-band-deep: var(--navy-900);
  --bg-figures: var(--apricot-400);
  --text: var(--ink-600);
  --text-strong: var(--navy-700);
  --text-muted: var(--ink-400);
  --text-on-band: #e8eef4;
  --text-on-band-strong: var(--white);
  --accent: var(--apricot-400);
  --accent-text: var(--apricot-600);
  --accent-on-band: var(--apricot-400);
  --line: var(--stone-300);
  --line-on-band: rgba(250, 245, 239, .38);
  --focus: var(--apricot-400);

  /* ---------- type ---------- */
  --font: "General Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --fw-display: 300;
  --fw-text: 400;
  --fw-label: 500;
  --fw-strong: 600;
  --fs-hero: clamp(2.75rem, 1.4rem + 5.6vw, 6.25rem);     /* 44 -> 100 */
  --fs-h1: clamp(2.25rem, 1.5rem + 3.2vw, 4.25rem);       /* 36 -> 68 */
  --fs-h2: clamp(1.875rem, 1.35rem + 2.2vw, 3.25rem);     /* 30 -> 52 */
  --fs-h3: clamp(1.25rem, 1.1rem + .6vw, 1.625rem);       /* 20 -> 26 */
  --fs-lead: clamp(1.125rem, 1.03rem + .4vw, 1.375rem);   /* 18 -> 22 */
  --fs-body: 1.0625rem;                                   /* 17 */
  --fs-small: .9375rem;                                   /* 15 */
  --fs-label: .8125rem;                                   /* 13 */
  --fs-figure: clamp(2.5rem, 1.8rem + 3vw, 4.5rem);
  --lh-tight: 1.06;
  --lh-head: 1.15;
  --lh-body: 1.6;
  --track-display: -0.012em;

  /* ---------- space (8 px base) ---------- */
  --s-1: .25rem; --s-2: .5rem; --s-3: .75rem; --s-4: 1rem; --s-5: 1.5rem; --s-6: 2rem;
  --s-7: 3rem; --s-8: 4rem; --s-9: 6rem; --s-10: 8rem;
  --section-y: clamp(3.5rem, 2rem + 6vw, 7.5rem);
  --gutter: clamp(1rem, .5rem + 2.4vw, 3rem);
  --wrap: 1320px;
  --measure: 68ch;

  /* ---------- radii, shadow, motion ---------- */
  --r-card: 16px;
  --r-ctl: 12px;
  --r-tile: 8px;
  --r-panel: 28px;
  --r-pill: 999px;
  --shadow-float: 0 10px 30px -12px rgba(0, 44, 80, .28);
  --ease: cubic-bezier(.2, .7, .2, 1);
  --t-fast: .18s;
  --t-mid: .42s;

  /* ---------- component ---------- */
  --header-h: 72px;
  --header-bg: rgba(216, 215, 211, .82);
  --btn-h: 52px;
  --chip: 30px;
  --tab-w: 74px;
}
