/* AXORI SITE TYPOGRAPHY — shared layer (Dispatch 6, 2026-08-22).
   One file, linked from every marketing page. Every future typography
   change is one edit here — never a per-page hack (footer.html pattern).

   WHY BODY COPY IS LEFT-ALIGNED (recorded so nobody undoes it):
   centered body copy forces the eye to hunt for the start of every line;
   left alignment gives it a fixed return edge. This is legibility, not
   taste. Premium comes from measure (65–75ch) and spacing, never from
   centering.

   HEADLINE AND STRUCTURAL CENTERING STAYS and is deliberately NOT
   targeted here: .hero, .section-head, .band h2, stat cards, footer,
   and display lines (.hero .tagline, .pkg-tagline). */

body .band p,
body .why-note,
body .pricing-note,
body .cmp-foot,
body .final-cta p,
body .seework p,
body .hero .subhead,
body .hero .pkg-sub,
body p.sub,
body #prospectPanel p,
body .success p {
  text-align: left;
  max-width: 70ch;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.75;
}

/* Dispatch 7 (2026-08-21 PT) — the classes the first pass missed:
   p.sub = every .sub lede, globally: the cornerstone/education pages' hero
   subcopy (the /why-it-works paragraph Maxx caught — six pages use .sub where
   the homepage uses .subhead), the section-head ledes, and site-audit's bare
   hero sub which sits under no .hero/.section-head wrapper at all. One global
   rule so no third naming variant can escape. Head blocks themselves stay
   centered: eyebrow + h1/h2.
   #prospectPanel p / .success p = site-audit email pitch + partner confirmation.
   The homepage hero .tagline renders 3-4 lines — body copy by the rule
   ("a four-line paragraph is body copy wherever it sits") — but keeps its
   own 56ch display measure, so only alignment changes here. */
body .hero .tagline {
  text-align: left;
}

/* AXNAV-STEADY START: THE SITE MENU DOES NOT MOVE WHILE THE PAGE ARRIVES (Maxx ruling 2026-10-01: "fix with one shared rule").
   On a slow load the browser paints the top of the page before all of it has arrived. Measured 2026-10-01 at 1366:
   (1) the menu's link row is 18 px tall until its pill button arrives (38 px), and being centred it moves up 10 px:
       the row reserves the button's height;
   (2) the right-aligned link row and the centred contact strip re-flow sideways as each item arrives (the row by
       up to 172 px): each stays hidden until its LAST item is on the page (.axnav-cta, .axc-note), then shows
       once, in its final place. A browser that does not know :has() ignores these two rules and behaves as before.
   tools/site-menu-steady-tests.js fails the build if a page carries the menu without these rules, or a menu
   without its last item (which rule 2 would hide for good). The two menu partials carry the same three rules
   for the pages the server renders from them (the blog), which do not link this file. */
.axnav .axnav-links{min-height:38px}
.axnav .axnav-links:not(:has(.axnav-cta)){visibility:hidden}
.axnav .axc-strip:not(:has(.axc-note)){visibility:hidden}
/* AXNAV-STEADY END */
