/* ==========================================================================
   ACXPA design tokens  -  acxpa-tokens.css
   Source of truth for acxpa.com.au. Loaded at wp_enqueue_scripts priority 5,
   ahead of theme and plugin stylesheets. See Brand & Digital Standards s19.

   ROOT FONT SIZE - READ BEFORE EDITING
   ------------------------------------
   The Brand & Digital Standards type and space scales (s10, s11) are stated
   against a 16px root. This site does not have one: the PARENT theme ships
   Bootstrap 3, which sets html{font-size:62.5%} in
   /wp-content/themes/kleo/assets/css/bootstrap.min.css - a 10px root.

   Every rem value in this file has therefore been multiplied by 1.6 so that
   it RESOLVES TO THE PIXEL VALUE PRINTED IN THE STANDARDS. The numbers here
   look different to the document; the rendered result is identical.

       --acxpa-ds-space-4xl : 9.6rem  x 10px root = 96px   (s11: 96px)
       --acxpa-ds-text-body : 1.6rem  x 10px root = 16px   (s10: 16px)
       --acxpa-ds-text-eyebrow : 1.3rem x 10px root = 13px (s10: 13px)

   rem is retained rather than px so the scale still honours the reader's
   browser font-size preference, which is the reason s10 gives for using it.

   IF THE ROOT IS EVER RETURNED TO 16px, divide every rem value in this file
   by 1.6 to restore the printed numbers. Do not leave both changes in place.

   Only the vw terms inside clamp() are unscaled - vw is viewport-relative
   and already resolves correctly at any root size.

   Audited 16 Aug 2026: the only consumers of these tokens are this file and
   css/custom.css. Nothing else on the site reads them, so this retune has no
   effect on existing pages.
   ========================================================================== */

/* =============================================================================
   ACXPA Design System — tokens
   -----------------------------------------------------------------------------
   The single source of truth for colour, type, spacing, radius and elevation
   across acxpa.com.au (WordPress theme + custom PHP tools) and every ACXPA
   document.

   Load this BEFORE any theme or plugin stylesheet. See functions.php snippet.

   NAMESPACE
   All custom properties are prefixed --acxpa-ds- ("design system").
   A live audit of acxpa.com.au found 162 existing .acxpa-* class names and
   five existing --acxpa-* custom properties (including --acxpa-ink:#0f1720,
   which is NOT the brand Ink). The -ds- segment guarantees no collision:
   if it carries this prefix, it is defined in the Brand & Digital Standards.

   RULES
   1. No new hex values anywhere in CSS. If a colour is needed and no token
      fits, add a token here first.
   2. Never edit a value here to solve a one-off problem. It changes the
      whole site and every document.
   3. Adding this file alone changes nothing visually — nothing references it
      yet. That is intentional and makes it safe to deploy on its own.

   Reference: ACXPA Brand & Digital Standards
   ============================================================================= */

:root{
  /* Brand */
  --acxpa-ds-teal-50:#F1F6F7;  --acxpa-ds-teal-100:#DBE5E7; --acxpa-ds-teal-200:#B7CDD2;
  --acxpa-ds-teal-300:#8AB0B8; --acxpa-ds-teal-400:#57909C; --acxpa-ds-teal-500:#2A7383;
  --acxpa-ds-teal-600:#155F6E; --acxpa-ds-teal-700:#0F4F5C; --acxpa-ds-teal-800:#0A3A44;
  --acxpa-ds-teal-900:#062831;
  --acxpa-ds-gold:#F9B02E;     --acxpa-ds-gold-tint:#FDEBCB; --acxpa-ds-gold-deep:#9A6412;
  --acxpa-ds-clay:#C05A42;     --acxpa-ds-clay-deep:#8E3D2A; --acxpa-ds-clay-tint:#F7E3DC;
  --acxpa-ds-harbour:#2C4880;  --acxpa-ds-harbour-deep:#1B2F52; --acxpa-ds-harbour-tint:#E0E7F2;

  /* Neutrals */
  --acxpa-ds-ink:#14252A;   --acxpa-ds-slate:#5E7075; --acxpa-ds-cloud:#F4F7F7; --acxpa-ds-white:#FFFFFF;
  --acxpa-ds-sand:#FAF7F2;  --acxpa-ds-stone:#E7E1D8; --acxpa-ds-warm-slate:#7A7268;

  /* Status */
  --acxpa-ds-success:#1E7A5A; --acxpa-ds-success-deep:#12523C; --acxpa-ds-success-tint:#E2F1EB;
  --acxpa-ds-warning:#B26A00; --acxpa-ds-warning-deep:#7A4900; --acxpa-ds-warning-tint:#FBEEDA;
  --acxpa-ds-error:#B3182C;   --acxpa-ds-error-deep:#7E101F;   --acxpa-ds-error-tint:#FAE4E7;
  --acxpa-ds-info:#2C4880;    --acxpa-ds-info-deep:#1B2F52;    --acxpa-ds-info-tint:#E0E7F2;

  /* Roles */
  --acxpa-ds-text:var(--acxpa-ds-ink);
  --acxpa-ds-text-muted:var(--acxpa-ds-slate);
  --acxpa-ds-bg:var(--acxpa-ds-white);
  --acxpa-ds-bg-subtle:var(--acxpa-ds-cloud);
  --acxpa-ds-border:var(--acxpa-ds-teal-200);
  --acxpa-ds-border-strong:var(--acxpa-ds-teal-400);
  --acxpa-ds-link:var(--acxpa-ds-teal-600);
  --acxpa-ds-link-hover:var(--acxpa-ds-teal-700);
  --acxpa-ds-link-visited:var(--acxpa-ds-harbour);
  --acxpa-ds-focus:var(--acxpa-ds-teal-700);
  --acxpa-ds-focus-on-dark:var(--acxpa-ds-gold);

  /* Type */
  --acxpa-ds-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --acxpa-ds-text-display:clamp(3.6rem,2.4rem + 3.2vw,5.2rem);
  --acxpa-ds-text-h1:clamp(3rem,2.24rem + 2vw,4rem);
  --acxpa-ds-text-h2:3rem; --acxpa-ds-text-h3:2.2rem; --acxpa-ds-text-h4:1.8rem;
  --acxpa-ds-text-lead:2rem; --acxpa-ds-text-body:1.6rem;
  --acxpa-ds-text-small:1.4rem; --acxpa-ds-text-caption:1.2rem;
  --acxpa-ds-text-eyebrow:1.3rem;   /* 13px - s10 Eyebrow */
  --acxpa-ds-tracking-eyebrow:0.12em;
  --acxpa-ds-leading-tight:1.12; --acxpa-ds-leading-snug:1.32; --acxpa-ds-leading-body:1.65;
  --acxpa-ds-measure:68ch;   /* opt-in via .acxpa-ds-prose only - never global */

  /* Space */
  --acxpa-ds-space-2xs:0.4rem; --acxpa-ds-space-xs:0.8rem;  --acxpa-ds-space-sm:1.2rem;
  --acxpa-ds-space-md:1.6rem;     --acxpa-ds-space-lg:2.4rem;  --acxpa-ds-space-xl:3.2rem;
  --acxpa-ds-space-2xl:4.8rem;    --acxpa-ds-space-3xl:6.4rem;   --acxpa-ds-space-4xl:9.6rem;
  --acxpa-ds-space-5xl:12.8rem;

  /* Radius + elevation */
  --acxpa-ds-radius-sm:4px; --acxpa-ds-radius-md:8px; --acxpa-ds-radius-lg:12px;
  --acxpa-ds-radius-xl:20px; --acxpa-ds-radius-pill:999px;
  --acxpa-ds-shadow-sm:0 1px 2px rgba(15,79,92,.08);
  --acxpa-ds-shadow-md:0 2px 8px rgba(15,79,92,.10);
  --acxpa-ds-shadow-lg:0 8px 24px rgba(15,79,92,.12);
}
