/* ============================================================
   SPACING, RADIUS, SIZING, BREAKPOINTS
   4px base grid. Radii are crisp and restrained — heraldic, not
   bubbly. Corners stay tight so framed/bordered elements read as
   plaques and crests rather than app chips.
   ============================================================ */
:root {
  /* Spacing scale (4px grid) */
  --space-0:  0;
  --space-1:  0.25rem;  /* 4 */
  --space-2:  0.5rem;   /* 8 */
  --space-3:  0.75rem;  /* 12 */
  --space-4:  1rem;     /* 16 */
  --space-5:  1.5rem;   /* 24 */
  --space-6:  2rem;     /* 32 */
  --space-7:  2.5rem;   /* 40 */
  --space-8:  3rem;     /* 48 */
  --space-9:  4rem;     /* 64 */
  --space-10: 5rem;     /* 80 */
  --space-12: 7rem;     /* 112 */

  /* Radii — restrained */
  --radius-none: 0;
  --radius-sm:   2px;
  --radius-md:   4px;
  --radius-lg:   8px;
  --radius-xl:   12px;
  --radius-pill: 999px;

  /* Control heights */
  --control-sm: 36px;
  --control-md: 44px;  /* default tap target */
  --control-lg: 54px;

  /* Layout */
  --container-max: 1240px;
  --gutter: var(--space-5);

  /* Hairline border width */
  --border-width: 1px;
  --border-width-strong: 2px;
}
