/* ============================================================
   AFRY — Spacing, radius, grid, elevation tokens
   Grid: 12×12 (large) / 6×6 (small). Margin 40px, gutter 20px (digital).
   Corner radius: fixed 4px — tech-forward, still human.
   ============================================================ */
:root {
  /* Spacing scale (4px base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;   /* gutter */
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;  /* digital margin */
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* Layout */
  --grid-columns: 12; /* @kind other */
  --grid-gutter: 20px;
  --layout-margin: 40px;
  --layout-max: 1280px;

  /* Corner radius — fixed 4px brand rule. */
  --radius: 4px;
  --radius-sm: 2px;
  --radius-pill: 999px;
  --radius-none: 0px; /* full-bleed imagery, headline frames, page-defining containers */

  /* Borders */
  --border-width: 1px;
  --border-color: var(--grey-300);
  --border-strong: var(--grey-400);

  /* Elevation — restrained, engineered (crisp, low-spread) */
  --shadow-xs: 0 1px 2px rgba(14, 38, 27, 0.06);
  --shadow-sm: 0 1px 3px rgba(14, 38, 27, 0.08), 0 1px 2px rgba(14, 38, 27, 0.04);
  --shadow-md: 0 4px 12px rgba(14, 38, 27, 0.08), 0 2px 4px rgba(14, 38, 27, 0.05);
  --shadow-lg: 0 12px 32px rgba(14, 38, 27, 0.12), 0 4px 8px rgba(14, 38, 27, 0.06);

  /* Motion — calm, considered; ease-out, no bounce */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration: 200ms; /* @kind other */
  --duration-slow: 360ms; /* @kind other */
}
