/* AdminLess landing family — shared design tokens (round 6)
   One token block for all five pages. Pages may not redefine --h2, --h3,
   --body, --label, --gutter, --section-pad, or the motion tokens.
   This is the only file that may hold the scale. Pages may add layout-
   local tokens (spacing inside components, radii), never these values.
   Declared exceptions (documented in website/LANDING_PAGES.md):
   - root keeps h1 at 38px: it is a one-screen company card that must fit a
     1280×800 viewport without scrolling; its voice is smaller type, more room.
   - legal keeps h1 at 88px (the family's editorial reference).
   - mnc clamps h1 to 76px so the hero timeline fits a 900px viewport.
   - claims keeps a Fraunces wordmark (product name) but body is Plex Sans.
   - claims may declare one .panel__title at 26px for the #story beats.
*/
:root {

  /* Type scale — charter: H1 72, H2 44, H3 24/20, body 18, label 13 */
  --h1: 72px;
  --h2: 44px;
  --h3: 22px;            /* one sub-head size family-wide; was 21/22/23/24 and 21/23/24/29 */
  --body: 18px;
  --label: 13px;

  /* Measures */
  --gutter: 136.5px;     /* page side padding at 1440; was 52.5–152.5 across the family */
  --measure: 1152px;     /* max content width */

  /* Section rhythm */
  --section-pad: 96px;   /* top+bottom padding on every section */

  /* Buttons */
  --btn-min: 200px;      /* primary CTA min-width: a label swap must not change button shape */
  --btn-h: 48px;

  /* Credentials row */
  --creds-opacity: 0.9;
  --creds-logo-h: 34px;  /* one optical height for every mark; straplines included */

  /* Motion — one reveal family-wide */
  --reveal-dur: 0.42s;
  --reveal-threshold: 0.15;   /* read by shared/motion.js */
  --reveal-margin: -10%;      /* read by shared/motion.js */
}

@media (max-width: 880px) {
  :root {
    --h1: 44px;
    --h2: 32px;
    --h3: 20px;
    --gutter: 28px;
    --section-pad: 72px;
  }
}
