/* ===========================================================================
   EXHIBIT LAWNS — SPACING, RADIUS, SHADOW, LAYOUT TOKENS
   8px base rhythm. Section padding & CTA sizing follow the brief's UX rules.
   =========================================================================== */
:root {
  /* --- Spacing scale (8px base) --- */
  --space-0:  0;
  --space-1:  0.25rem;  /* 4  */
  --space-2:  0.5rem;   /* 8  */
  --space-3:  0.75rem;  /* 12 */
  --space-4:  1rem;     /* 16 */
  --space-5:  1.5rem;   /* 24 */
  --space-6:  2rem;     /* 32 */
  --space-7:  2.5rem;   /* 40 */
  --space-8:  3rem;     /* 48 */
  --space-9:  4rem;     /* 64 */
  --space-10: 5rem;     /* 80  — min section padding (desktop) */
  --space-11: 6rem;     /* 96  */
  --space-12: 7.5rem;   /* 120 — max section padding (desktop) */

  /* Section vertical rhythm (brief: 80–120 desktop / 48–64 mobile) */
  --section-pad-y:        clamp(3rem, 1.5rem + 6vw, 7.5rem);
  --section-pad-y-tight:  clamp(2.5rem, 1.5rem + 4vw, 5rem);
  --container-max:        1200px;
  --container-narrow:     760px;
  --container-pad-x:      clamp(1.25rem, 0.5rem + 3vw, 2.5rem);

  /* --- Radius (brief: CTA corners 8–12px) --- */
  --radius-xs:   4px;
  --radius-sm:   6px;
  --radius-md:   10px;  /* default — buttons, inputs */
  --radius-lg:   14px;  /* cards */
  --radius-xl:   20px;  /* large feature panels */
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* --- Control sizing (brief: CTA min height 52px, mobile hit targets ≥44px) --- */
  --control-h-sm: 40px;
  --control-h-md: 48px;
  --control-h-lg: 52px;

  /* --- Shadows — soft, premium, low-spread. Green-tinted ambient. --- */
  --shadow-xs: 0 1px 2px rgba(20, 51, 31, 0.06);
  --shadow-sm: 0 1px 3px rgba(20, 51, 31, 0.08), 0 1px 2px rgba(20, 51, 31, 0.04);
  --shadow-md: 0 4px 12px rgba(20, 51, 31, 0.08), 0 2px 4px rgba(20, 51, 31, 0.05);
  --shadow-lg: 0 12px 28px rgba(20, 51, 31, 0.12), 0 4px 8px rgba(20, 51, 31, 0.06);
  --shadow-xl: 0 24px 56px rgba(15, 42, 25, 0.18);
  --shadow-focus: 0 0 0 3px rgba(45, 122, 79, 0.32); /* focus ring */
  --shadow-focus-accent: 0 0 0 3px rgba(200, 127, 10, 0.34);

  /* --- Motion (brief tone: calm, confident — restrained, no bounce) --- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out:      cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --duration-fast:   140ms; /* @kind other */
  --duration-base:   220ms; /* @kind other */
  --duration-slow:   400ms; /* @kind other */

  /* --- Z-index --- */
  --z-header:  100; /* @kind other */
  --z-overlay: 200; /* @kind other */
  --z-modal:   300; /* @kind other */
  --z-toast:   400; /* @kind other */
}
