/* B-125 round-7 -- contrast/weight pass, sitewide (all 21 routes).
   Ryan's ruling: several small mono text styles read as too faint / too
   thin against the dark background. Overrides layered AFTER bundle.css so
   the ported CSS stays intact and every change here is one auditable rule.
   Same hues throughout -- brighter and/or heavier, never restyled.
   Contrast ratios computed via the WCAG relative-luminance formula against
   the page's actual --void (#0a0a0a-ish) and --surface backgrounds;
   numbers in docs/reports/B-120.md ss round-7. */

/* Eyebrow labels (every "HVAC" / "For Dental Practices" / "The Uncomfortable
   Truth" style kicker) and the vertical pages' amber mono timestamp
   headings in the receipts timeline. Both were translucent (cyan/70 or
   amber/70) at the browser's default font-weight 400 -- individually they
   scraped past the 4.5:1 AA floor (4.64:1 / 4.93:1) but read as faint at
   11px-14px with wide tracking. Now fully opaque and semibold. */
.text-cyan\/70{color:#55caf1 !important;font-weight:600}
.text-amber\/70{color:#f7b645 !important;font-weight:600}
.text-\[0\.7rem\]{font-weight:600}

/* Secondary cyan tints that failed AA outright: step-number labels
   (cyan/50, 2.87:1) and the vertical pages' hero call-card footer note
   (cyan/60, 3.67:1). Brightened to the same opaque cyan as the eyebrow
   fix. Weight left alone -- neither is a header. */
.text-cyan\/50{color:#55caf1 !important}
.text-cyan\/60{color:#55caf1 !important}

/* Dim gray sub-lines and footer copy -- trust lines ("$497/mo. No
   contracts..."), closing sub-lines, footer copyright and "Built with
   spite and caffeine..." text. text-dim was 45% lightness, 4.16:1 against
   the void background -- a real AA failure, not a borderline one.
   Lightened to 58%, 6.51:1. */
.text-text-dim{color:#949494 !important}

/* B-126 round-9 -- Ryan's ruling on top of round-7's contrast pass:
   "the tagline/eyebrow copy is too small... or difficult to read all
   throughout the entire site." Two separate problems were living in one
   class: `text-[0.7rem]` (11.2px, 600 weight, 0.3em uppercase tracking)
   is used sitewide both for short kicker labels ("For Veterinary
   Clinics", "HVAC", "How it works" -- 27 instances) AND for full-sentence
   eyebrows (receipts timestamps like "7:58 AM. The doors do not open for
   two minutes..." at 15 words, the "168 hours in a week..." kickers, the
   homepage hero's "You ghosted another one, didn't you?" -- 22 instances).
   All-caps letterspacing at sentence length is the readability failure;
   the short labels were just plain too small. Full audit table in
   docs/reports/B-120.md ss round-9. */

/* Absolute floor: nothing under 14px anywhere on the site. text-xs (12px)
   was the most common offender -- footer legal links, badge pills,
   timestamp/reply-time chips, nav-dropdown captions, comparison-table tag
   labels. One rule fixes every one of the ~140 site-wide instances; no
   per-page edit needed since bundle.css/overrides.css are shared. */
.text-xs{font-size:.875rem !important;line-height:1.25rem !important}

/* Short eyebrow/kicker labels (1-4 words). Up from 11.2px/600 to 13px/700,
   tracking eased from 0.3em to 0.15em ("slightly reduced tracking" per
   the ruling) -- still a compact all-caps label, no longer squint-small.
   `tracking-[0.3em]` is used exclusively by this eyebrow pattern sitewide
   (confirmed by grep before touching it), so this is safe as a blanket
   rule. */
.text-\[0\.7rem\]{font-size:13px !important;font-weight:700}
.tracking-\[0\.3em\]{letter-spacing:.15em !important}

/* Long, sentence-length eyebrows share the exact same class as the short
   ones above -- CSS alone can't tell a 3-word label from a 15-word
   sentence, so this round adds one marker class, `eyebrow-sentence`, to
   the 22 spans sitewide (10 files) that are full sentences rather than
   short labels. This is an HTML class-attribute addition only -- the
   underlying text was already stored in sentence case in the source
   (`uppercase` was purely a CSS transform), so removing the transform via
   this rule restores normal reading case with zero copy/wording change,
   verified by re-grepping all 22 strings byte-for-byte before and after.
   16px, weight 500, tracking normal -- reads as a sentence, not a label. */
.eyebrow-sentence{font-size:1rem !important;font-weight:500 !important;text-transform:none !important;letter-spacing:normal !important}

/* Body-tier paragraphs that were sitting at caption-scale (14px) instead
   of the 16px floor for running prose: /conversation-ai's three "What you
   get" tile descriptions, and the footer tagline shared by all 21 pages.
   Short single-line CTAs, stat labels, and micro-lines under a button
   (e.g. "Takes 5 minutes. Live by tomorrow.") are deliberately left alone
   -- they already satisfied the ">=14px caption" floor and bumping them
   would inflate buttons/badges nobody asked to resize. Scoped to the
   exact exisiting class combinations (verified unique to these instances
   before writing the selector) so nothing else on the site is affected. */
p.text-sm.text-text-muted.leading-relaxed{font-size:1rem !important;line-height:1.625 !important}
p.mt-4.text-sm.text-text-muted.leading-relaxed.max-w-sm{font-size:1rem !important;line-height:1.625 !important}
