/* ============================================================
   RULO3D — Spacing, radii, shadows, layout
   4px base grid. Radii lean round to echo the continuous looping
   line of the mark. Shadows are soft and low-contrast (paper,
   not plastic). Borders carry most of the structure.
   ============================================================ */
:root {
  /* ---- Spacing (4px base) ---- */
  --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 (round, echoing the curl) ---- */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-pill: 999px;  /* buttons, tags — the "rulo" loop */

  /* ---- Border widths ---- */
  --border-hairline: 1px;
  --border-thin: 1.5px;
  --border-thick: 2px;
  --border-stroke: 3px;  /* brand single-line weight */

  /* ---- Shadows (soft, paper) ---- */
  --shadow-xs: 0 1px 2px rgba(20, 20, 20, 0.06);
  --shadow-sm: 0 2px 8px rgba(20, 20, 20, 0.07);
  --shadow-md: 0 6px 20px rgba(20, 20, 20, 0.09);
  --shadow-lg: 0 16px 40px rgba(20, 20, 20, 0.12);
  --shadow-focus: 0 0 0 3px rgba(20, 20, 20, 0.18);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 220ms; /* @kind other */
  --duration-slow: 420ms; /* @kind other */

  /* ---- Layout ---- */
  --container-sm: 640px;
  --container-md: 880px;
  --container-lg: 1120px;
  --container-xl: 1320px;
  --gutter: var(--space-5);
}
