/* SAVVA shape: hairline rules, near-square corners, shadow used almost never.
   Restraint, not display — depth comes from tone and space, not from lift. */
:root {
  --radius-none: 0;
  --radius-xs: 2px;   /* buttons, inputs — near-square is the brand default */
  --radius-sm: 3px;   /* tags, small chips */
  --radius-md: 4px;   /* cards, panels */
  --radius-lg: 8px;   /* dialogs, media frames */
  --radius-pill: 999px;
  --radius-circle: 50%; /* badge only */

  --border-hairline: 1px;
  --border-medium: 1.5px;
  --border-heavy: 2px;

  --rule-ink: 1px solid var(--border-default);
  --rule-quiet: 1px solid var(--border-quiet);
  --rule-gold: 1px solid var(--savva-kalahari-gold);

  /* Elevation. Two levels only, both soft and low-contrast. */
  --shadow-none: none;
  --shadow-raised: 0 1px 2px rgba(48, 49, 38, 0.06), 0 8px 24px -12px rgba(48, 49, 38, 0.14);
  --shadow-overlay: 0 24px 64px -24px rgba(48, 49, 38, 0.34);
  --shadow-inset-hairline: inset 0 0 0 1px rgba(48, 49, 38, 0.10);

  /* Focus ring — gold, offset, never a glow */
  --focus-ring: 0 0 0 2px var(--savva-canvas-ivory), 0 0 0 4px var(--savva-kalahari-gold);

  /* Protection gradient for type over photography */
  --scrim-bottom: linear-gradient(to top, rgba(43, 46, 36, 0.88) 0%, rgba(43, 46, 36, 0.55) 38%, rgba(43, 46, 36, 0) 100%); /* @kind other */
  --scrim-full: linear-gradient(to right, rgba(43, 46, 36, 0.82) 0%, rgba(43, 46, 36, 0.35) 55%, rgba(43, 46, 36, 0.1) 100%); /* @kind other */
}
