/* =============================================================================
   ITDC Systems — Design Tokens
   Derived verbatim from DESIGN-webflow.md (Webflow-inspired design language).
   Single source of truth for color, type, space, radius, shadow.
   ============================================================================= */

:root {
  /* --- Brand & ink ------------------------------------------------------- */
  --color-primary: #080808;          /* near-black: every primary CTA, heading, wordmark */
  --color-on-primary: #ffffff;
  --color-ink: #080808;
  --color-ink-strong: #222222;
  --color-body: #363636;
  --color-body-mid: #5a5a5a;
  --color-mute: #767676;            /* guide #898989 nudged darker to meet WCAG AA (4.5:1) on white at text sizes */
  --color-mute-soft: #ababab;

  /* --- Surface ----------------------------------------------------------- */
  --color-canvas: #ffffff;
  --color-canvas-soft: #fafafa;      /* subtle band separation (within system) */
  --color-hairline: #d8d8d8;
  --color-hairline-soft: #ececec;

  /* --- 5-stop chromatic accents (category-card fills, NEVER buttons) ------ */
  --accent-purple: #7a3dff;
  --accent-pink: #ed52cb;
  --accent-blue: #3b89ff;
  --accent-blue-deep: #006acc;
  --accent-blue-info: #146ef5;
  --accent-orange: #ff6b00;
  --accent-green: #00d722;
  --accent-yellow: #ffae13;
  --accent-red: #ee1d36;

  /* --- Semantic ---------------------------------------------------------- */
  --color-info: var(--accent-blue-info);
  --color-success: var(--accent-green);
  --color-warning: var(--accent-yellow);
  --color-error: var(--accent-red);

  /* --- Typography families ---------------------------------------------- */
  /* Inter is the documented open-source substitute for proprietary WF Visual Sans. */
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "Inconsolata", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --font-features: "ss01" 1;         /* closest stylistic match to WF Visual Sans */

  /* --- Type scale (px → rem @16) ---------------------------------------- */
  --fs-display-xxl: 5rem;     /* 80px  / 600 / -0.8px  — hero (fluid override below) */
  --fs-display-xl: 3.5rem;    /* 56px  / 600 */
  --fs-display-lg: 2.8rem;    /* 44.8px/ 600 — section headlines */
  --fs-display-md: 2rem;      /* 32px  / 500 */
  --fs-display-sm: 1.5rem;    /* 24px  / 500 */
  --fs-display-xs: 1.25rem;   /* 20px  / 500 */
  --fs-eyebrow: 0.9375rem;    /* 15px  / 500 / +1.5px uppercase */
  --fs-eyebrow-sm: 0.75rem;   /* 12px  / 500 / +0.6px */
  --fs-body-lg: 1.8rem;       /* 28.8px/ 400 — lead paragraph (fluid override below) */
  --fs-body-md: 1rem;         /* 16px  / 400 / -0.16px — default body */
  --fs-body-sm: 0.875rem;     /* 14px  / 400 — secondary / nav-link */
  --fs-caption: 0.8rem;       /* 12.8px/ 550 — badge label (signature weight) */
  --fs-caption-mono: 0.75rem; /* 12px  / 400 */

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-caption: 550;          /* the brand's signature caption weight */
  --fw-semibold: 600;         /* weight ceiling — never go heavier */

  /* --- Spacing (4px base) ------------------------------------------------ */
  --space-xxs: 2px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 20px;
  --space-2xl: 24px;
  --space-3xl: 32px;
  --space-4xl: 48px;          /* extensions for section rhythm (multiples of base) */
  --space-5xl: 64px;
  --space-6xl: 96px;
  --space-7xl: 128px;

  /* --- Radius ------------------------------------------------------------ */
  --radius-none: 0px;
  --radius-xs: 2px;
  --radius-sm: 4px;           /* canonical button + badge radius */
  --radius-md: 8px;           /* card chrome */
  --radius-full: 9999px;      /* circular icon containers only */

  /* --- Elevation (layered multi-stop drop-shadows — brand's signature) --- */
  --shadow-1: 0 0 0 1px var(--color-hairline);     /* hairline "border" via shadow */
  --shadow-2: 0 84px 24px rgba(0,0,0,0), 0 54px 22px rgba(0,0,0,.01),
              0 30px 18px rgba(0,0,0,.04), 0 13px 13px rgba(0,0,0,.08),
              0 3px 7px rgba(0,0,0,.09);
  --shadow-3: 0 84px 24px rgba(0,0,0,0), 0 54px 22px rgba(0,0,0,.02),
              0 30px 18px rgba(0,0,0,.05), 0 13px 13px rgba(0,0,0,.10),
              0 3px 7px rgba(0,0,0,.12);
  --shadow-4: 0 24px 24px rgba(0,0,0,.26), 0 6px 13px rgba(0,0,0,.29);

  /* --- Layout ------------------------------------------------------------ */
  --container-max: 1200px;
  --container-wide: 1320px;
  --gutter: var(--space-3xl);
  --header-h: 72px;

  /* --- Motion ------------------------------------------------------------ */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --dur-fast: .15s;
  --dur: .28s;
  --dur-slow: .6s;
}
