:root{
  /* Gaps as they occur in the source — not a normalised 4/8 grid */
  --space-2:2px;
  --space-3:2.9964px;  /* mobile star gap */
  --space-4:4.2px;     /* desktop star gap */
  --space-6:6px;
  --space-8:8px;
  --space-10:10px;
  --space-12:12px;
  --space-15:15px;     /* form field → button */
  --space-16:16px;
  --space-20:20px;
  --space-24:24px;
  --space-30:30px;
  --space-32:32px;
  --space-40:40px;
  --space-80:80px;     /* logo → address in header */
  --space-100:100px;   /* modal top padding (under image) */

  /* Layout */
  --frame-desktop:1600px;
  --container-desktop:1200px;
  --container-inset:200px;      /* left/right margin inside the 1600 frame */
  --frame-mobile:320px;
  --container-mobile:300px;
  --gutter-mobile:10px;
  --col-copy:458px;             /* feature column width */
  --col-media:600px;            /* right-hand photo column */
  --header-height:70px;
  --header-rule-offset:90px;

  --row-gap-features:20px;      /* desktop */
  --row-gap-features-m:16px;    /* mobile */
  --thumb-size:110px;
  --thumb-height:105px;
  --icon-size:30px;             /* feature icons */
  --icon-size-inline:20px;      /* header icons */
  --icon-size-inline-m:16px;
  --control-height:48px;        /* primary button */
  --field-height:51px;
}
