/* ==========================================================================
   GBH brand tokens — overrides Bexon's own :root custom properties.
   Loaded AFTER main.css. This is the "adapt Bexon to GBH" layer:
   every Bexon component reads these same --tj-* variables, so redefining
   them here recolors/retypes the whole real Bexon component library
   without touching main.css itself (main.css stays byte-for-byte original).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,650&display=swap');

:root{
  /* ---- typography: Bexon's Mona Sans role -> GBH Fraunces/DM Sans ---- */
  --tj-ff-heading:'Fraunces', Georgia, serif;
  --tj-ff-body:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ---- color v3: FINAL approved palette — dark blue + signature bright blue +
     blue-gray + warm off-white. Replaces the v2 teal/light-green direction
     entirely (no teal, no green, no terracotta, no gold anywhere below).
     Variable NAMES are kept from v1/v2 so gbh-custom.css's ~75 existing
     var() references repaint automatically; see the split below for WHY
     --gbh-gold and --gbh-gold-deep now resolve to two different blues. */
  /* accent deprecated from #00BFFF to #159BC4 (2026-08-27 "compactness & premium"
     pass) — the founder found pure cyan reads cheap/overly-digital; this deeper,
     less-saturated azure keeps the same "precision signal" role at a more premium
     register. Still used sparingly — CTA, one priority signal, one diagram focal
     point — never as a general fill. GLOBAL ACCENT COLOR CHANGE (2026-09-19,
     owner-approved): #159BC4 -> #3989C8 site-wide; same role/usage discipline,
     value only. */
  --tj-color-theme-primary:#3989C8;      /* premium azure accent — CTA/action */
  --tj-color-theme-bg:#E7F2F6;           /* very pale azure wash, used sparingly */
  --tj-color-theme-bg-2:#DCE4E8;         /* light blue-gray wash */
  --tj-color-theme-bg-3:#173B57;         /* GBH dark blue */
  --tj-color-theme-dark:#173B57;         /* GBH dark blue (headings) */
  --tj-color-theme-dark-2:#1F4864;
  --tj-color-theme-dark-3:#667785;       /* body text — medium blue-gray */
  --tj-color-theme-dark-4:#667785;
  --tj-color-theme-dark-5:#667785;

  --tj-color-heading-primary:#173B57;
  --tj-color-text-body:#667785;
  --tj-color-text-body-2:#8FA0AB;
  --tj-color-text-body-3:#667785;
  --tj-color-text-body-4:#173B57;

  --tj-color-grey-1:#F8F5EF;             /* warm off-white page background */
  --tj-color-grey-2:#8FA0AB;

  --tj-color-border-1:#DCE4E8;
  --tj-color-border-2:#1F4864;
  --tj-color-border-5:rgba(57,137,200,.18);

  /* ---- GBH-only extension tokens (not in original Bexon set) ---- */
  --gbh-navy:#173B57;        /* dark blue — authority/structure */
  --gbh-navy-2:#1F4864;      /* lighter blue, close family — secondary dark surfaces */
  --gbh-cream:#F8F5EF;       /* warm off-white — primary page background */
  --gbh-paper:#FFFFFF;
  --gbh-paper-2:#F7F8F7;     /* very light neutral — clean section surfaces */
  --gbh-line:#DCE4E8;        /* light blue-gray — subtle separation */
  --gbh-line-strong:#C7D3D8;

  /* two richer/deeper blue variations, used to give the hero's action words (Build/
     Grow) their own distinct identity, separate from --gbh-navy (which stays the
     repeated "your business." structural color) and separate from the #3989C8 accent
     (kept scarce, precision-signal only). --gbh-deep-2 changed from #123F63 to #17658F
     (correction pass) — the founder found the previous value still too close to Build/
     navy to read as clearly different at normal viewing distance; #17658F is a
     noticeably lighter/more saturated blue while staying in the same deep-blue family. */
  --gbh-deep-1:#104A73;
  --gbh-deep-2:#17658F;

  /* --gbh-gold* names kept for compatibility with ~75 existing var() references,
     but the ROLE now splits in two: "gold" (decorative/background use — dots,
     borders, small bars, button fills) goes to the bright signature blue;
     "gold-deep" (legible TEXT use — eyebrows, icons, labels on light backgrounds)
     goes to dark blue instead, because #00BFFF fails text contrast on the warm
     off-white background at small sizes. Never invert this split. */
  --gbh-gold:#3989C8;            /* decorative/background premium azure accent */
  --gbh-gold-deep:#173B57;       /* legible-text dark blue */
  --gbh-gold-wash:#E7F2F6;       /* very pale azure wash */

  --gbh-on-dark:#F8F5EF;
  --gbh-on-dark-soft:rgba(248,245,239,.8);
  --gbh-on-dark-faint:rgba(248,245,239,.52);
  --gbh-line-on-dark:rgba(248,245,239,.16);

  /* status semantics: no red/yellow/green dashboard convention — the GBH palette
     itself carries the meaning. ok = stable/on-track (dark blue), warn = neutral/
     existing/underused (medium blue-gray), crit = priority/needs attention
     (signature bright blue — see --gbh-crit-text for the text-safe version). */
  --gbh-ok:#173B57; --gbh-ok-wash:#E7ECEE;
  --gbh-warn:#667785; --gbh-warn-wash:#EEF1F2;
  --gbh-crit:#3989C8; --gbh-crit-wash:#E7F2F6;
  --gbh-crit-text:#0C7A99;   /* darkened accent, for the rare case crit needs to be small text on a light bg */

  /* --gbh-terracotta* names kept for compatibility (old "second accent" slot).
     No green, no terracotta remain — this now resolves to the light blue-gray
     supporting tone, used the same structural way the old alternation was. */
  --gbh-terracotta:#DCE4E8;
  --gbh-terracotta-deep:#667B8C; /* tightened to the exact approved Blue Gray (2026-08-31) */
  --gbh-terracotta-wash:#EEF1F2;

  /* light blue-gray — quiet on-dark label/eyebrow text. Was bright blue; demoted
     under the "bright blue by scarcity" rule (2026-08-27) — general section labels
     and repeated on-dark ornament are explicitly NOT one of bright blue's preferred
     uses, and DCE4E8 reads cleanly as light-on-dark without competing with the
     handful of elements that should still carry the signature color. */
  --gbh-teal-on-dark:#DCE4E8;
}

/* Bexon's page background variables sometimes get set directly on body/section
   rather than only through the tokens above — pin the ones GBH needs literally. */
body{ background:var(--gbh-cream) !important; color:var(--tj-color-text-body); font-family:var(--tj-ff-body); }
h1,h2,h3,h4,h5,h6,.banner-title,.section-title,.title{ font-family:var(--tj-ff-heading) !important; }

/* Bexon ships a couple of hard-coded teal hexes outside the token system —
   patched individually rather than fighting main.css's specificity everywhere. */
.tj-preloader-overlay,.body-overlay{ background:var(--gbh-navy) !important; }
