/* ============================================================
   Cerne — Spacing, radius, shadow, motion tokens
   Restrained, enterprise: small radii, near-invisible neutral
   shadows (no color tint, no glow). Tap targets never below 48px.
   ============================================================ */

:root {
  /* Spacing scale (4px base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  /* Radii — tighter, technical (was 18/28 "soft bubble") */
  --radius-sm: 6px;
  --radius: 8px;
  --radius-lg: 10px;  /* default card / panel */
  --radius-xl: 14px;  /* hero panels */
  --radius-pill: 999px;

  /* Accent rule — the 4px underline motif under headings */
  --accent-rule-h: 3px;
  --accent-rule-w: 56px;

  /* Shadows — neutral-tinted, very low opacity (Apple-style restraint) */
  --shadow-sm: 0 1px 2px rgba(16, 18, 22, 0.06);
  --shadow-md: 0 4px 12px rgba(16, 18, 22, 0.08), 0 1px 2px rgba(16, 18, 22, 0.04);
  --shadow-lg: 0 12px 32px rgba(16, 18, 22, 0.12);

  /* Layout */
  --tap-min: 48px;     /* minimum interactive height */
  --tap-comfortable: 56px;
  --container-max: 1200px;  /* marketing / SaaS shell */
  --content-max: 1080px;
  --reading-max: 720px;     /* serif prose measure */

  /* ---- Motion tokens ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --ease-sharp: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --dur-instant: 80ms; /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur: 220ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --stagger: 60ms; /* @kind other */
}
