:root{
  /* --- Static steps. The source uses a 2px-based, not strictly 4px, set. */
  --space-1:4px;
  --space-2:6px;
  --space-3:8px;
  --space-4:10px;
  --space-5:12px;
  --space-6:14px;
  --space-7:16px;
  --space-8:18px;
  --space-9:20px;
  --space-10:22px;
  --space-11:24px;
  --space-12:26px;
  --space-14:32px;
  --space-16:36px;
  --space-18:44px;

  /* --- Fluid rhythm. These exact clamps repeat all over the site. ------ */
  --section-y:clamp(36px,5vw,64px); /* @kind spacing */         /* standard band */
  --section-y-lg:clamp(44px,7vw,88px); /* @kind spacing */      /* feature band */
  --section-y-xl:clamp(48px,8vw,110px); /* @kind spacing */     /* dark CTA, blog band */
  --hero-y:clamp(48px,8vw,104px); /* @kind spacing */
  --case-hero-y:clamp(48px,8vw,96px); /* @kind spacing */
  --band-y:clamp(28px,4vw,40px); /* @kind spacing */            /* meta bar */
  --card-p:clamp(20px,2.6vw,28px); /* @kind spacing */          /* white card */
  --card-p-lg:clamp(22px,3vw,34px); /* @kind spacing */         /* model / offer card */
  --gap-col:clamp(24px,4vw,72px); /* @kind spacing */           /* hero two-column */
  --gap-col-lg:clamp(20px,3.5vw,56px); /* @kind spacing */      /* work row */
  --gap-rail:clamp(20px,4vw,64px); /* @kind spacing */          /* sticky label -> content */
  --gap-grid:clamp(16px,2.4vw,28px); /* @kind spacing */
  --stack-sm:clamp(20px,3vw,32px); /* @kind spacing */
  --stack-md:clamp(24px,3vw,36px); /* @kind spacing */
  --stack-lg:clamp(28px,3.5vw,44px); /* @kind spacing */
  --stack-xl:clamp(44px,6vw,72px); /* @kind spacing */

  /* --- Layout ---------------------------------------------------------- */
  --page-max:1400px; /* @kind spacing */
  --page-gutter:32px; /* @kind spacing */
  --content-max:1080px; /* @kind spacing */
  --rail:200px; /* @kind spacing */                             /* sticky section label column */
  --rail-sticky-top:80px; /* @kind spacing */
  --nav-h:57px; /* @kind spacing */
  --min-col:300px; /* @kind spacing */                          /* auto-fit minmax floor, hero + rows */
  --min-col-sm:170px; /* @kind spacing */                       /* stat tiles, info cards */
  --min-col-md:260px; /* @kind spacing */
  --min-col-lg:320px; /* @kind spacing */                       /* decision cards, offer cards */
  --content-flex:460px; /* @kind spacing */                      /* flex-basis of the content column */
}
