/* ============================================================
   ASHBOURNE — Space, structure, hard shadow & motion
   Neo-brutalist: zero radius, structural borders, offset shadows
   with no blur. Depth is a hard displaced block, never a glow.
   ============================================================ */
:root {
  /* —— Spacing (4/8 base) —— */
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;
  --space-11: 192px;

  /* —— Layout —— */
  --container-max: 1320px;
  --container-text: 680px;
  --gutter: clamp(16px, 4vw, 56px); /* @kind spacing */

  /* —— Radius: none. This is the rule. —— */
  --radius-none: 0;
  --radius-xs: 0;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-pill: 999px; /* switch knobs & dots ONLY */

  /* —— Border widths: structural —— */
  --border-hair: 1px;
  --border-thick: 2px;
  --border-heavy: 3px;

  /* —— Hard shadows: offset, zero blur —— */
  --shadow-none: none;
  --shadow-hard-sm: 2px 2px 0 var(--black-000);
  --shadow-hard: 4px 4px 0 var(--black-000);
  --shadow-hard-lg: 8px 8px 0 var(--black-000);
  --shadow-hard-accent: 4px 4px 0 var(--orange-400);
  --shadow-hard-light: 4px 4px 0 var(--white-100);
  --shadow-focus: 0 0 0 3px var(--focus-ring);

  /* Legacy aliases */
  --shadow-sm: var(--shadow-hard-sm);
  --shadow-md: var(--shadow-hard);
  --shadow-lg: var(--shadow-hard-lg);

  /* —— Motion: short, mechanical, no easing theatrics —— */
  --ease-out: cubic-bezier(0.2, 0, 0, 1); /* @kind other */
  --ease-snap: cubic-bezier(0.6, 0, 0.2, 1); /* @kind other */
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  --ease-elastic: cubic-bezier(0.34, 1.4, 0.64, 1); /* @kind other */
  --dur-fast: 120ms; /* @kind other */
  --dur-mid: 180ms; /* @kind other */
  --dur-slow: 260ms; /* @kind other */
  --dur-marquee: 22s; /* @kind other */
  --dur-spin: 14s; /* @kind other */
  --dur-grain: 640ms; /* @kind other */
  /* press = displace into the shadow, not a scale */
  --press-shift: translate(2px, 2px); /* @kind other */
  --lift: translate(-2px, -2px); /* @kind other */

  /* —— Control heights —— one scale shared by Button, Input, Select and
     any other inline control, so a field and a button always line up. —— */
  --control-h-sm: 38px; /* @kind spacing */
  --control-h-md: 48px; /* @kind spacing */
  --control-h-lg: 58px; /* @kind spacing */
}
