/* ==========================================================================
   DSS Corporate — design tokens (single source of truth)

   Half-day-scale token set per the Aria art-direction brief
   (research/design/ARIA-DSS-CORPORATE-SITE-2026-08-18.md): two surfaces,
   two ink levels, one accent, one rule color, four type steps, three space
   steps, one radius token. Consumed everywhere else via var(--…) — nothing
   outside this file hardcodes a color, size, or radius.

   Scope note (design-constitution Article 1): this is DSS's OWN corporate
   entity property, deliberately NOT wearing any product-family palette —
   the parent stays visually distinct from the products it stands behind.
   ========================================================================== */

:root {
  /* ---- surfaces (2) ---------------------------------------------------- */
  --color-bone: #f2ecdf;       /* warm painted-enamel off-white — page ground */
  --color-bone-deep: #e4dac5;  /* deeper bone — footer closing band */

  /* ---- ink (2) ----------------------------------------------------------
     iron/bone = 12.6:1, iron-soft/bone = 6.3:1, both hold >4.5:1 on
     bone-deep too (10.7:1 / 5.4:1) — verified, not eyeballed. */
  --color-iron: #2b2723;       /* primary text — warm dark graphite, not #000 */
  --color-iron-soft: #5c5449;  /* secondary text — labels, meta, captions */

  /* ---- accent (1) --------------------------------------------------------
     Oxidized brass. A metal, not a flame — never propane-orange, never
     gold-on-navy fintech. Rules, markers, and the focus ring ONLY.
     It may never carry text (hard constraint, Aria's brief). Verified
     4.2:1 / 3.6:1 against bone / bone-deep — clears the 3:1 non-text/
     UI-component floor for rules and the focus ring. */
  --color-brass: #8a6a3c;
  --color-rule: var(--color-brass); /* semantic alias: this is the ONE hue */
  /* derived, not a second hue: a quiet divider tint of --color-iron, used
     for the many small per-row hairlines so brass stays rare (signature
     section rules + markers + focus ring only, per the restraint budget) */
  --color-hairline: color-mix(in srgb, var(--color-iron) 18%, transparent);

  /* ---- type families ----------------------------------------------------
     Display: Big Shoulders — narrow, high x-height, engineered/stamped
     character. Never a neo-grotesk blown up large (the killed reflex).
     Body: Public Sans — a workhorse built for official records/forms,
     warm, excellent small-size legibility (US federal typeface heritage —
     an honest fit for a "record", not a coincidence).
     Mono: IBM Plex Mono — scoped to exactly ONE block, the entity plate.
     Tabular figures live here and on every phone number site-wide. */
  --font-display: "Big Shoulders", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Public Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* ---- type scale (4 steps) ---------------------------------------------
     Display step is capped under 44px on purpose — bar statement 4:
     hierarchy comes from weight, rule and space, never from size. */
  --text-xs: 0.8125rem;     /* 13px — uppercase eyebrow / margin labels */
  --text-base: 1.125rem;    /* 18px — body floor (older eyes, older phones) */
  --text-lg: 1.75rem;       /* 28px — section headings */
  --text-display: 2.625rem; /* 42px — hero legal name, under the 44px cap */

  /* ---- space (3 steps) --------------------------------------------------- */
  --space-s: 0.75rem;
  --space-m: 1.5rem;
  --space-l: 4rem;

  /* ---- radius (1 token) --------------------------------------------------
     Zero everywhere. No cards, no rounded containers, ever. */
  --radius: 0;

  /* ---- layout ---------------------------------------------------------- */
  --content-max: 40rem;   /* main column measure, ≤68ch at 18px */
  --label-col: 9rem;      /* right-margin label rail width -- was 8rem, ~6px
                              short for "ENTITY TYPE" at 13px+0.12em tracking
                              (Kassia iteration-1 LOW), ragged vs ADDRESS/PHONE */
  --edge-pad: clamp(1.25rem, 6vw, 4rem);

  /* ---- motion ------------------------------------------------------------
     One signature moment: the section rules draw in on load. */
  --motion-draw: 560ms;
  --motion-stagger: 40ms;
}
