/* ===========================================================================
   XP Decking - design tokens
   Every value here was measured from computed styles on https://xpdecking.ca/
   via scripts/extract_design.mjs + extract_shell.mjs. Nothing is invented.
   Raw evidence: audit/design-raw.json, audit/shell.json
   =========================================================================== */
:root {
  /* --- colour ------------------------------------------------------------ */
  --brand:        #e09900;   /* rgb(224,153,0)  buttons, nav active, H1     */
  --text:         #333333;   /* rgb(51,51,51)   body copy                   */
  --text-dark:    #262626;   /* rgb(38,38,38)   dark bands, card headings   */
  --text-muted:   rgba(0,0,0,.65);
  --link:         #cc3366;   /* rgb(204,51,102) inline anchors              */
  --white:        #ffffff;
  --black:        #000000;   /* header / topbar background                  */
  --surface:      #f1f1f1;   /* rgb(241,241,241)                            */
  --surface-alt:  #f5f6f7;   /* rgb(245,246,247) alternating bands          */
  --surface-alt2: #f6f7f8;   /* rgb(246,247,248) process band               */
  --border:       #e7e8e7;   /* rgb(231,232,231) hairlines                  */
  --overlay-light: rgba(255,255,255,.11);
  --text-on-image: rgba(255,255,255,.97);

  /* --- type -------------------------------------------------------------- */
  --font: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

  --fs-display: 66px;  --lh-display: 1.2;   /* hero line                     */
  --fs-h1:      33px;  --lh-h1:      1.2;   /* 17px@390, 20px@768 */
  --fs-h2:      40px;  --lh-h2:      1.2;
  --fs-h2-sm:   36px;                       /* "Top Reasons..." band         */
  --fs-h3:      18px;  --lh-h3:      1.3;
  --fs-h3-lg:   28px;                       /* local-info block              */
  --fs-body:    17px;  --lh-body:    1.5;
  --fs-nav:     17px;  --lh-nav:     20px;
  --fs-btn:     18px;
  --fs-footer-link: 16px;
  --fs-social:  14px;

  --fw-light: 300; --fw-reg: 400; --fw-med: 500;
  --fw-semi: 600; --fw-bold: 700; --fw-xbold: 800;

  /* --- layout ------------------------------------------------------------ */
  --container: 1200px;       /* .e-con-inner / .elementor-container         */
  --gutter: 17px;          /* measured: inner 356@390, 734@768, 1200@1440 */
  --gutter-mobile: 17px;
  --header-h: 101px;         /* measured at 1440                            */
  --band-pad-y: 85px;        /* measured on the padded bands                */

  /* --- radii (by observed frequency) ------------------------------------- */
  --r-2: 2px; --r-3: 3px; --r-5: 5px; --r-7: 7px;
  --r-8: 8px; --r-14: 14px; --r-32: 32px;

  /* --- motion ------------------------------------------------------------ */
  --dur-fast: .2s; --dur: .3s; --ease: ease;
}

/* Breakpoints present in the source stylesheets (Elementor defaults):
   mobile <=767 · tablet 768-1024 · desktop >=1025                          */
