/* ============================================================
   Zimmermann Law — Spacing, layout, radius, borders, elevation
   Deliberate and generous: let the type breathe. Sections run
   ~104px vertical; content maxes at 1240px with 56px gutters.
   ============================================================ */

:root{
  /* ---- Spacing scale ---- */
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:22px;
  --space-6:28px;
  --space-7:36px;
  --space-8:48px;
  --space-9:64px;
  --space-10:84px;
  --space-11:104px;   /* section vertical rhythm */

  /* ---- Layout ---- */
  --wrap:1240px;      /* max content width */
  --gutter:56px;      /* page side padding */
  --section-y:104px;  /* default section padding-top/bottom */
  --sticky-top:120px; /* offset below sticky header */

  /* ---- Radius ---- */
  --radius:5px;       /* the brand radius — cards, inputs, buttons, media */
  --radius-sm:3px;    /* tags-adjacent, small chips */
  --radius-pill:100px;/* tags */
  --radius-lg:9px;    /* dropdown menus */

  /* ---- Borders ---- */
  --border-hair:1px;    /* @kind spacing */
  --border-btn:1.5px;   /* @kind spacing */

  /* ---- Elevation (restrained, cool-green cast) ---- */
  --shadow-card:0 18px 40px -24px rgba(20,40,30,.4);   /* hover-lifted card */
  --shadow-btn:0 10px 26px -12px rgba(20,40,30,.6);    /* raised solid button */
  --shadow-menu:0 28px 56px -26px rgba(0,0,0,.75);     /* dark dropdown */
  --focus-ring:0 0 0 3px var(--forest-soft);           /* input focus */

  /* ---- Motion ---- */
  --ease-out:cubic-bezier(.2,.7,.2,1);   /* @kind other */
  --dur-fast:.2s;      /* @kind other */
  --dur:.25s;          /* @kind other */
  --dur-slow:.35s;     /* @kind other */
  --reveal-shift:30px; /* @kind spacing */
  --reveal-dur:.7s;    /* @kind other */
}
