/*
  Factory Design System — theme-capital-ai.css
  Source: ~/ventures/sites/capital-ai/brand.md v1 "Open Signal", derived from
  Joe's capital-ai-brand-website-style-guide.md dated 2026-08-30.

  This is a REAL, live theme file (Capital AI is a from-scratch factory build),
  so like theme-mo-bill-watch.css it is copied into
  ventures-src/capital-ai/vendor/design-system/ at build time and ships on the
  site. Re-sync per that repo's vendor README after any change here.

  Overrides theme-default.css. Light mode only, per the factory floor.

  Every contrast figure in this file was computed, not quoted.
*/

:root {
  /* ---------------------------------------------------------------
     COLOR, ground and ink
     Workshop Paper is the page. White is a limited functional surface
     and the text color on Cobalt, NOT the background.
  --------------------------------------------------------------- */
  --bg: #f5f1e8;               /* Workshop Paper */
  --card: #ffffff;             /* limited functional surface only */
  --ink: #33383e;              /* Capital Charcoal. 10.49:1 on --bg, 11.82:1 on --card */
  --ink-soft: #33383e;         /* the guide gives no second ink; body stays Charcoal rather than
                                  inventing a lighter grey that would weaken the 10.49:1 floor */
  --muted: #5c6167;            /* the one derived neutral, for captions and metadata only.
                                  Measured 5.54:1 on --bg, 6.25:1 on --card. Never lighter. */

  --hair: #d8d2c4;             /* fine rule on Paper, non-text */
  --hair-2: #33383e;           /* structural rule IS ink: the guide draws with rules, not tints */

  /* ---------------------------------------------------------------
     COLOR, the signal
     Signal Orange is a GRAPHIC signal. It is not a text color. The
     guide is explicit and the math agrees: 3.15:1 on Paper, 3.33:1 on
     Charcoal, both large-only. --ca-signal-ink is the derived
     text-safe member of the same hue family (brand.md amendment 1)
     and is what --accent resolves to, so any inherited components.css
     rule that reads --accent AS TEXT still clears AA.
  --------------------------------------------------------------- */
  --ca-signal: #e65b3a;        /* Signal Orange. Wordmark AI, large fields, marker rules, event
                                  identifiers. 3.15:1 on --bg: NEVER normal text, never a link,
                                  never a small label, never body copy. */
  --ca-signal-ink: #c93b1a;    /* derived text-safe orange. 4.52:1 on --bg, 5.09:1 on --card */
  --accent: #c93b1a;           /* = --ca-signal-ink, so inherited text consumers stay legal */
  --accent-soft: #fbe9e3;      /* pale Signal wash for a marked band. --ink on it measures 10.06:1 */

  /* ---------------------------------------------------------------
     COLOR, the three programs
     Field colors, each ALWAYS paired with its word. Color never
     carries the program name on its own.
  --------------------------------------------------------------- */
  --ca-builders: #b8e34f;      /* Builder Green. A FIELD color: carries --ink at 7.96:1.
                                  Never a text color on Paper (1.32:1). */
  --ca-community: #e65b3a;     /* = --ca-signal. Same rules apply. */
  --ca-business: #315fd4;      /* Business Cobalt. 5.01:1 on --bg, and carries --card at 5.65:1.
                                  The one color here that is legal both as text and as a field. */
  --ca-on-business: #ffffff;   /* White on Cobalt, 5.65:1 */
  --ca-on-builders: #33383e;   /* Charcoal on Green, 7.96:1 */
  --ca-on-signal: #33383e;     /* Charcoal on Orange, 3.33:1: LARGE TEXT ONLY (24px+, or 19px bold) */

  /* Charcoal band surfaces */
  --ca-band: #33383e;
  --ca-on-band: #f5f1e8;       /* Paper on Charcoal, 10.49:1 */
  --ca-on-band-soft: #b9b6ae;  /* muted metadata on the band. Measured 5.84:1 on --ca-band */

  /* AA CORRECTION, logged not silent (2026-08-30, first build).
     Signal Orange as SMALL TEXT on the charcoal band measures 3.33:1 and
     fails AA. Caught by an in-page audit of every text-bearing element, not
     by eye. brand.md says AA overrides the locked token, so the token loses:
     this is Signal Orange lightened along its own hue and saturation until it
     clears the floor. 4.52:1 on --ca-band. Use it for ANY small text on the
     charcoal band or in the footer.
     It is 2.32:1 on Paper, so it is a band-only color and never appears on the
     page ground. */
  --ca-signal-on-band: #ec836a;

  /* Links: Cobalt per the guide, which is legal on Paper at 5.01:1.
     Underlined always, because color alone never says "link". */
  --ca-link: #315fd4;
  --ca-link-hover: #1f3f96;    /* 8.43:1 on --bg */

  /* Status colors are inherited from theme-default only so nothing 404s.
     Capital AI has no status system; do not reach for these in new work. */
  --red: #c93b1a;
  --green: #3c6e52;
  --blue: #315fd4;
  --amber: #8a5a10;

  /* ---------------------------------------------------------------
     TYPE, two families and no third
     IBM Plex Mono is deliberately absent: it appears only in Joe's
     superseded Notion page, not in the .md that Shannon chose.
  --------------------------------------------------------------- */
  --font-display: 'Space Grotesk', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-sans: 'IBM Plex Sans', -apple-system, system-ui, 'Segoe UI', sans-serif;
  --font-serif: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;  /* no serif in this identity */
  --font-mono: 'IBM Plex Sans', -apple-system, system-ui, sans-serif;   /* no mono in this identity */

  /* ---------------------------------------------------------------
     TYPE, poster sizes ADDED above the shared scale
     structure.css stops at --text-2xl 56px, which cannot deliver the
     guide's monumental headline. Four sizes added on the 8px rhythm.
     Nothing in the shared scale is redefined.
  --------------------------------------------------------------- */
  --text-3xl: 80px;
  --text-4xl: 112px;
  --text-5xl: 144px;
  --text-6xl: 192px;

  --leading-display: 0.92;
  --leading-body: 1.6;
  --tracking-display: -0.02em;
  --tracking-label: 0.08em;    /* short uppercase labels only, never a paragraph */
  --measure: 66ch;             /* 60 to 68 characters per line */

  /* ---------------------------------------------------------------
     SHAPE
     Square or nearly square. No shadows exist in this identity.
  --------------------------------------------------------------- */
  --radius-sm: 0px;
  --radius-md: 2px;
  --radius-lg: 4px;
  --radius-pill: 0px;          /* pills are banned; kept as a token so any unmigrated
                                  consumer degrades to square rather than undefined */

  --shadow-card: none;
  --shadow-none: none;
  --shadow-panel: none;
  --surface-hover: #ece7db;    /* a half-step down from Paper. --ink on it measures 9.58:1 */

  /* ---------------------------------------------------------------
     GRID, 12 / 8 / 4
     Breakpoints must be hardcoded inside @media (custom properties
     cannot be used in a media condition), so these are reference
     values that the layout CSS mirrors.
  --------------------------------------------------------------- */
  --grid-cols: 12;
  --grid-gutter: 24px;         /* = --space-4 */
  --grid-margin: 32px;         /* = --space-5 */
  --grid-max: 1360px;

  /* ---------------------------------------------------------------
     MOTION
  --------------------------------------------------------------- */
  --motion-fast: 150ms;
  --motion-base: 200ms;
  --motion-ease: cubic-bezier(0.2, 0, 0.2, 1);
}

@media (max-width: 700px) {
  :root {
    --grid-cols: 4;
    --grid-margin: 24px;
  }
}

@media (min-width: 701px) and (max-width: 1024px) {
  :root {
    --grid-cols: 8;
  }
}

/*
  NO DARK MODE. Do not add @media (prefers-color-scheme: dark),
  [data-theme="dark"], or any second color block to this file, per the
  factory floor and brand.md.
*/
