/* Scoped coordination overrides for Contact, the NASA case study and 404.
   Linked only by those three pages, after v3-system.css — never by
   /v3-candidate/, which must render exactly as it did before this pass. */

/* v3-system.css's body clamp bottoms out at .94rem (~15px) at narrow
   viewports. .case-section p (the NASA case study's long-form paragraphs)
   and other plain text that doesn't set its own font-size inherit that
   floor directly, landing under the ~16px minimum comfortable body-copy
   size. Raises the floor only; the fluid upper end is unchanged. */
body { font-size: clamp(1rem, .35vw + .9rem, 1.03rem); }

/* Editorial color hierarchy, unified with the homepage's own tokens
   (site/proof.css: --ink/--body/--support/--cyan/--gold). v3-system.css
   defines these as custom properties, so redefining them here — after
   v3-system.css loads — recolors every rule that reads var(--ink) etc.
   without editing that shared file, so /v3-candidate/ (which never loads
   this stylesheet) keeps its original palette untouched. --flow drives
   buttons/borders/focus rings as well as text on these three pages, not
   only text color; overriding it recolors those too, which is the
   explicit intent here (one coordinated accent across all four pages,
   not just paragraph text) rather than an accidental side effect.
   --transform (purple) and --limit-hot (red) are separate semantic
   categories not named in the brief and are left at their original
   values. */
:root {
  --ink: #f4f3ee;   /* headings */
  --ink-2: #c5cbd0; /* body */
  --ink-3: #a8b2bc; /* supporting */
  --flow: #a9e8ea;  /* technical accent */
  --limit: #f4c88c; /* selective gold (was the amber "limit/boundary" color) */
}

/* FINAL CONTROLLED FINISH: two concrete, named gaps against the homepage.
   1) v3-system.css sets h1-h4 to font-weight:500; every homepage heading
      (h1, .evidence-heading h2, h3, etc.) is 400 — Contact's h1 reads
      visibly heavier as a direct result. Only IBM Plex Sans Regular (400)
      and Medium (500) are loaded (see the @font-face rules in
      v3-system.css), so 400 is the correct, already-available match, not
      a synthesized weight.
   2) .action--primary's fill is var(--flow) — even at the softer cyan set
      above, that's still a distinctly tinted button. The homepage's own
      primary CTA (.actions .primary) is a near-white/pale mint fill
      (#e6f1ed) with --cyan reserved for smaller accents (icons, labels,
      focus rings) — a deliberate separation this override restores here.
      Hover/border/text-color and every other button role are untouched. */
h1, h2, h3, h4 { font-weight: 400; }
.action--primary { background: #e6f1ed; }

/* CSP FIX: vercel.json's style-src is 'self' with no unsafe-inline, which
   silently drops inline style="" attributes in the real deployment (a
   protected-Preview deploy of this branch confirmed both attributes below
   were present in the DOM but had no effect: the sprite's position stayed
   "static" and the action-row's margin-top stayed 0, with no console
   error — a silent failure, not something local dev-server testing without
   a CSP header could ever show). Moved both declarations here and replaced
   the inline attributes with these classes on Contact, the NASA case study
   and 404 only; .action-row itself (used unmodified by two rows elsewhere
   on the NASA case study page) is untouched so this doesn't reach beyond
   the specific rows that had the inline override. */
.icon-sprite { position: absolute; }
.action-row--gap { margin-top: var(--s-6); }
