@charset "UTF-8";
/* =====================================================================
   MarkNtel Advisors - Shared design tokens

   FIRST FILE IN THIS FOLDER. Created 2026-09-03 alongside the header
   redesign, which is this project's first genuinely cross-page
   component - CLAUDE.md names this exact path ("Shared across pages, at
   the project root: assets/css/tokens.css...") for precisely this
   moment: "Patterns that turn out to be shared across pages... go into
   shared files so later pages reuse them rather than restating them."

   EVERY VALUE HERE IS COPIED, NOT INVENTED. home-page/assets/css/page.css
   section 3 already established this palette and scale from the client's
   own logo and from the report-description-page it was built to sit
   beside; this file exists so the header (and whatever is built after
   it) can reference the same tokens instead of a second, unrelated set
   of hex values. home-page/page.css itself is NOT changed to consume
   this file - that would be refactoring a page outside the header task
   this file was created for. It keeps its own copies, and the two are
   numerically identical by construction. A follow-up task can point
   page.css at this file directly; noted in header/NOTES.md rather than
   done here.

   NOT EVERY TOKEN page.css DECLARES IS HERE. Home-page-specific values
   (--spine-inset, --spine-width, the hero's own gradient stops, the
   type scale below the header) stay where they are, scoped to that
   page, until a second page actually needs them - copying speculatively
   is exactly what this file's own header warns against.
   ===================================================================== */

:root{
  /* --------------------------------------------------------------
     Brand. Sampled from the logo gradient - see home-page/page.css
     section 3 for the full provenance note.
     -------------------------------------------------------------- */
  --ink:#040B34;
  --ground:#0A2A46;
  --ocean:#004E79;
  --teal:#0B8FA3;
  --cyan:#05ABC4;
  --aqua:#6FE0EE;

  /* Neutrals, cool-tinted out of the navy so nothing reads as stock gray */
  --paper:#FFFFFF;
  --mist:#F1F5F8;
  --tint:#E9F6F9;
  --line:#DBE4EB;
  --rule:#C9D6E1;
  --slate:#41505E;
  --on-dark:#AFC0D4;
  --on-dark-hi:#CFDEED;
  --dark-rule:rgba(175,192,212,.20);

  /* --------------------------------------------------------------
     Type. Source Serif 4 is the page-body voice and is NOT loaded
     here - the header speaks in --ui only (see header/NOTES.md,
     "Why the header carries no serif"). Declared anyway so a future
     shared component that does need it references one token rather
     than a third hand-typed stack.
     -------------------------------------------------------------- */
  --text:'Source Serif 4',Georgia,'Times New Roman',serif;
  --ui:'Inter',system-ui,-apple-system,'Segoe UI','Roboto',sans-serif;

  /* --------------------------------------------------------------
     Structure
     -------------------------------------------------------------- */
  --r:4px;
  --focus:var(--teal);
  /* One gutter for the whole site - home-page/page.css declares this
     bare on :root for the same reason (the header and footer sit
     outside any one page's own scope and must resolve the same
     value, or the chrome and the page content drift apart). Same
     name, same value, so a page that loads both this file and its
     own page.css sees one number either way. */
  --mn-gutter:clamp(18px,3vw,48px);
  /* The shared content cap every band on every delivered page is
     capped to (home-page/page.css's own --measure resolves against
     it). The header's own container uses it directly so its left and
     right edges land on the same line as the page content below it,
     without the !important patch the old vendor header needed - see
     header/NOTES.md, "Why the old container patch is gone". */
  --mn-measure:1560px;

  /* --------------------------------------------------------------
     Motion. One easing curve, named once. mn-btn and the header's
     own interactive states both reach for an "ease out with a touch
     of overshoot" curve; naming it stops a second, slightly
     different bezier from being hand-typed the next time one is
     needed.
     -------------------------------------------------------------- */
  --ease:cubic-bezier(.22,.75,.3,1);
}
