/* ============================================================
   Resonans — Layout tokens: spacing, radii, shadows, motion
   The brand is flat & geometric: minimal shadow, generous space,
   and a signature half-circle motif. Corner radius is soft
   (12.5px cards, 8px buttons); chips/badges stay fully-pilled.
   ============================================================ */

:root {
  /* ---- Spacing scale (4px base) ---- */
  --rz-space-0: 0;
  --rz-space-1: 0.25rem;   /* 4  */
  --rz-space-2: 0.5rem;    /* 8  */
  --rz-space-3: 0.75rem;   /* 12 — the brand's default inline gap */
  --rz-space-4: 1rem;      /* 16 */
  --rz-space-5: 1.5rem;    /* 24 */
  --rz-space-6: 2rem;      /* 32 */
  --rz-space-7: 2.5rem;    /* 40 */
  --rz-space-8: 3.5rem;    /* 56 */
  --rz-space-9: 5rem;      /* 80 */
  --rz-space-10: 7.5rem;   /* 120 — section rhythm */

  /* ---- Container ---- */
  --rz-container: 1240px;
  --rz-container-wide: 1440px;
  --rz-page-pad: clamp(1.25rem, 5vw, 4.5rem);

  /* ---- Radii (unsnapped, from source) ---- */
  --rz-radius-xs: 6px;
  --rz-radius-btn: 8px;     /* action buttons — 1:1 with legacy resonans.academy (owner-approved override of the old pill) */
  --rz-radius-sm: 10px;
  --rz-radius-md: 12.5px;   /* icon / content card */
  --rz-radius-lg: 20px;
  --rz-radius-xl: 32px;
  --rz-radius-pill: 999px;  /* chips, badges, announcement pills */

  /* ---- Borders ---- */
  --rz-border-width: 1px;
  --rz-hairline: 1px solid var(--rz-border);

  /* ---- Shadows (used sparingly) ---- */
  --rz-shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --rz-shadow-md: 0 8px 24px rgba(0,0,0,0.10);
  --rz-shadow-lg: 0 24px 60px rgba(0,0,0,0.18);
  --rz-shadow-glow: 0 0 80px var(--rz-red-glow);
  /* Cut-out portraits sitting directly on a dark ground need a drop-shadow to
     separate from it — the one place the flat system allows real elevation. */
  --rz-shadow-portrait: 0 24px 40px rgba(0,0,0,0.45);

  /* ---- Signature backgrounds ---- */
  --rz-glow-radial: radial-gradient(1200px 760px at 42% -24%, var(--rz-red) 0%, rgba(204,0,37,0) 100%);

  /* ---- Motion ----
     Locked: see readme.md "MOTION DOCTRINE" for when each of these applies.
     --rz-ease is the house ease-out (easeOutQuint). It is the default for
     ANYTHING that enters, exits, or answers a press, because ease-out moves
     immediately — the instant the user is watching most closely. There is
     deliberately no ease-in token: ease-in on a UI element delays that first
     frame and reads as lag. --rz-ease-in-out is only for things already on
     screen that move from A to B. */
  --rz-ease: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --rz-ease-out: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */ /* intent-named alias of --rz-ease */
  --rz-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1); /* @kind other */
  --rz-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1); /* @kind other */ /* iOS sheet curve — drawers/sheets only */

  /* Duration ladder. Pick by element, not by habit: the more often a thing is
     seen, the shorter it animates. Nothing in the UI may exceed --rz-dur
     without a written reason; --rz-dur-slow is for scroll reveals and
     explanatory/marketing motion only. */
  --rz-dur-press: 120ms; /* @kind other */ /* press / release feedback */
  --rz-dur-fast: 140ms; /* @kind other */ /* colour + hover state changes */
  --rz-dur-menu: 180ms; /* @kind other */ /* dropdowns, mega menu, popovers */
  --rz-dur: 240ms; /* @kind other */ /* the house default: cards, panels */
  --rz-dur-drawer: 320ms; /* @kind other */ /* drawers, sheets, mobile nav */
  --rz-dur-slow: 480ms; /* @kind other */ /* scroll reveals + marketing only */

  /* Press feedback. Nothing pressable ships without one of these. */
  --rz-press-scale: 0.97; /* @kind other */ /* buttons, chips, small controls */
  --rz-press-scale-lg: 0.99; /* @kind other */ /* whole-card / large surfaces */

  /* Entrance stagger between siblings. Short on purpose — long staggers make
     an interface feel slow rather than choreographed. */
  --rz-stagger: 60ms; /* @kind other */
}
