/* NTIS spacing — 4px base (plus a 2px hairline step), mid density (5/10). */
:root{
  --space-0: 0;
  --space-1: 2px;
  --space-2: 4px;
  --space-3: 8px;
  --space-4: 12px;
  --space-5: 16px;
  --space-6: 20px;
  --space-7: 24px;
  --space-8: 32px;
  --space-9: 40px;
  --space-10: 48px;
  --space-11: 64px;
  --space-12: 80px;
  --space-13: 96px;
  --space-14: 128px;

  /* Component rhythm — use these, not raw steps, inside components */
  --gap-inline: var(--space-3);   /* icon ↔ label, chip ↔ chip */
  --gap-stack: var(--space-4);    /* label ↔ field */
  --gap-group: var(--space-7);    /* field group ↔ field group */
  --gap-section: var(--space-10); /* card ↔ card block */
  --pad-card: var(--space-7);
  --pad-card-tight: var(--space-5);
  --pad-cell-y: var(--space-4);
  --pad-cell-x: var(--space-5);

  /* Marketing sections breathe; app chrome does not */
  --section-y: var(--space-13);
  --section-y-sm: var(--space-11);
}
@media (max-width: 1023px){
  :root{
    --section-y: var(--space-11);
    --section-y-sm: var(--space-10);
  }
}
@media (max-width: 767px){
  :root{
    --section-y: var(--space-10);
    --section-y-sm: var(--space-9);
    --pad-card: var(--space-5);
    --gap-section: var(--space-8);
  }
}
/* Fixed-size canvases pin the desktop rhythm. */
[data-ntis-static]{
  --section-y: var(--space-13);
  --section-y-sm: var(--space-11);
  --pad-card: var(--space-7);
  --gap-section: var(--space-10);
}
