/* ============================================================
   John Jeff — Spacing, radii, shadows, motion
   8px base rhythm. Restrained radii (editorial, not bubbly).
   Shadows are soft and low — the brand leans flat + textured.
   ============================================================ */

:root {
  /* ---- Spacing scale (8px 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:   3rem;     /* 48 */
  --space-8:   4rem;     /* 64 */
  --space-9:   6rem;     /* 96 */
  --space-10:  8rem;     /* 128 */

  /* ---- Radii (editorial restraint) ---- */
  --radius-xs:   4px;
  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   18px;
  --radius-pill: 999px;

  /* ---- Borders ---- */
  --border-hairline: 1px;
  --border-regular:  1.5px;
  --border-strong:   2px;

  /* ---- Shadows (soft, low, never glossy) ---- */
  --shadow-sm:  0 1px 2px rgba(28, 11, 41, 0.06);
  --shadow-md:  0 8px 24px rgba(28, 11, 41, 0.08);
  --shadow-lg:  0 24px 60px rgba(28, 11, 41, 0.12);
  --shadow-book: 0 30px 60px -18px rgba(28, 11, 41, 0.45); /* cover lift */

  /* ---- Layout ---- */
  --container:      1200px; /* @kind spacing */
  --container-text: 720px;  /* @kind spacing */
  --gutter:         clamp(1.25rem, 5vw, 4rem); /* @kind spacing */

  /* ---- Motion (gentle, human; no bounce) ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --dur-fast:   140ms; /* @kind other */
  --dur-base:   240ms; /* @kind other */
  --dur-slow:   480ms; /* @kind other */

  /* ---- Texture overlay opacity ---- */
  --texture-opacity-light: 0.5;  /* @kind other */
  --texture-opacity-dark:  0.08; /* @kind other */
}
