:root {
  /* Core colors */
  --ta-surface-page-default: #f5f9f6;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f5f6f3;
  --ta-color-surface-alt: #f4f5f1;
  --ta-color-surface-soft-accent: #edf3ee;
  --ta-color-surface-elevated: rgba(245, 247, 241, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #5a655f;
  --ta-color-border: #d6ddd7;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #2f6b4f;
  --ta-color-primary-strong: #24553f;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(47, 107, 79, 0.22);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);

  /* Typography */
  --ta-font-body: system-ui, sans-serif;
  --ta-font-heading: var(--ta-font-body);
  --ta-font-size-xs: 0.8rem;
  --ta-font-size-sm: 0.88rem;
  --ta-font-size-base: 1rem;
  --ta-font-size-md: 1.02rem;
  --ta-font-size-lg: 1.03rem;
  --ta-font-size-xl: clamp(1.35rem, 2vw, 1.6rem);
  --ta-font-size-2xl: clamp(1.7rem, 3vw, 2.2rem);
  --ta-font-size-3xl: clamp(2rem, 4vw, 2.8rem);
  --ta-font-weight-regular: 400;
  --ta-font-weight-medium: 500;
  --ta-font-weight-semibold: 600;
  --ta-font-weight-bold: 700;
  --ta-line-height-tight: 1.15;
  --ta-line-height-normal: 1.5;

  /* Canonical kicker component */
  --ta-kicker-color: var(--ta-color-primary);
  --ta-kicker-font-size: var(--ta-font-size-xs);
  --ta-kicker-font-weight: var(--ta-font-weight-medium);
  --ta-kicker-letter-spacing: 0.075em;
  --ta-kicker-line-height: var(--ta-content-line-height);
  --ta-kicker-heading-gap: var(--ta-space-2);
  --ta-kicker-section-space: var(--ta-resources-content-section-gap);

  /* Spacing scale */
  --ta-space-2: 0.5rem;
  --ta-space-3: 0.75rem;
  --ta-space-4: 1rem;
  --ta-space-5: 1.25rem;
  --ta-space-6: 1.5rem;
  --ta-space-8: 2rem;
  --ta-space-10: 2.5rem;
  --ta-space-12: 3rem;

  /* Layout */
  --ta-page-gutter: clamp(1rem, 2.8vw, 2.5rem);
  --ta-layout-gutter: var(--ta-page-gutter);
  --ta-service-outer-edge-space-desktop: var(--ta-layout-gutter);
  --ta-service-outer-edge-space-tablet: 0.75rem;
  --ta-service-outer-edge-space-mobile: 0.5rem;
  --ta-service-outer-edge-space: var(--ta-service-outer-edge-space-desktop);
  --ta-service-inner-edge-space-tablet: var(--ta-layout-gutter);
  --ta-service-inner-edge-space-mobile: var(--ta-layout-gutter);
  --ta-service-inner-edge-space: var(--ta-layout-gutter);
  --ta-layout-width-reading: 68ch;
  --ta-layout-width-page: 72rem;
  --ta-layout-width-content: var(--ta-layout-width-page);
  --ta-layout-width-wide: min(1360px, calc(100vw - (var(--ta-layout-gutter) * 2)));
  /* Canonical page rhythm system.
     Service pages define the visual baseline; Landing and How It Works map
     onto this shared contract unless they explicitly opt into a named rhythm
     variant. Keep future template spacing changes here instead of in
     page-family override blocks. */
  --ta-page-section-content-max-width: var(--ta-layout-width-page);
  --ta-page-section-inner-edge-space: var(--ta-layout-gutter);
  --ta-page-section-intro-max-width: 52rem;
  --ta-page-section-intro-body-max-width: 46rem;
  --ta-page-section-heading-max-width: 42ch;
  --ta-page-section-padding-block-desktop: clamp(1.25rem, 2.1vw, 2rem);
  --ta-page-section-padding-block-tablet: clamp(1.65rem, 2.6vw, 2.25rem);
  --ta-page-section-padding-block-mobile: clamp(1.35rem, 4.4vw, 1.75rem);
  --ta-page-section-padding-block: var(--ta-page-section-padding-block-desktop);
  --ta-page-section-padding-block-tight: var(--ta-page-section-padding-block);
  --ta-page-section-padding-block-spacious: var(--ta-page-section-padding-block);
  --ta-page-section-content-gap-desktop: clamp(1.1rem, 1.65vw, 1.55rem);
  --ta-page-section-content-gap-tablet: clamp(1.25rem, 2.4vw, 1.75rem);
  --ta-page-section-content-gap-mobile: clamp(1.05rem, 3.8vw, 1.4rem);
  --ta-page-section-content-gap: var(--ta-page-section-content-gap-desktop);
  --ta-page-section-intro-heading-body-gap-desktop: var(--ta-space-3);
  --ta-page-section-intro-heading-body-gap-tablet: var(--ta-space-3);
  --ta-page-section-intro-heading-body-gap-mobile: var(--ta-space-2);
  --ta-page-section-intro-heading-body-gap: var(--ta-page-section-intro-heading-body-gap-desktop);
  --ta-page-section-intro-body-flow-gap-desktop: var(--ta-space-3);
  --ta-page-section-intro-body-flow-gap-tablet: var(--ta-space-3);
  --ta-page-section-intro-body-flow-gap-mobile: var(--ta-space-3);
  --ta-page-section-intro-body-flow-gap: var(--ta-page-section-intro-body-flow-gap-desktop);
  --ta-page-section-list-gap: var(--ta-space-2);
  /* Theme-wide component flow tokens.
     Section wrappers own page rhythm; components use these to contain their
     internal lists/tables/cards and return cleanly to the section flow. */
  --ta-component-flow-gap-desktop: var(--ta-page-section-content-gap-desktop);
  --ta-component-flow-gap-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-component-flow-gap-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-component-flow-gap: var(--ta-component-flow-gap-desktop);
  --ta-component-exit-space: 0rem;
  /* Terminal components clear their own outer edge, but they no longer compact the
     parent section. Section-to-section cadence must stay section-owned. */
  --ta-component-terminal-section-exit-space-desktop: var(--ta-page-section-content-gap-desktop);
  --ta-component-terminal-section-exit-space-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-component-terminal-section-exit-space-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-component-terminal-section-exit-space: var(--ta-component-terminal-section-exit-space-desktop);
  --ta-component-internal-subsection-gap-desktop: var(--ta-space-6);
  --ta-component-internal-subsection-gap-tablet: var(--ta-space-6);
  --ta-component-internal-subsection-gap-mobile: var(--ta-space-5);
  --ta-component-internal-subsection-gap: var(--ta-component-internal-subsection-gap-desktop);
  --ta-component-list-item-gap: 0.45rem;
  --ta-terminal-density-exit-tight: 0rem;
  --ta-terminal-density-exit-medium: var(--ta-space-3);
  --ta-terminal-density-exit-heavy: var(--ta-space-5);
  --ta-component-list-indent: var(--ta-content-list-indent);
  --ta-page-card-heading-body-gap: var(--ta-space-2);
  --ta-section-space-tight: clamp(1.35rem, 2.2vw, 1.9rem);
  --ta-section-space-standard: clamp(2.2rem, 3.5vw, 3rem);
  --ta-section-space-relaxed: clamp(3rem, 4.6vw, 4rem);
  --ta-layout-section-space-block: var(--ta-section-space-standard);
  --ta-layout-section-space-block-tight: var(--ta-section-space-tight);
  --ta-layout-section-space-block-loose: var(--ta-section-space-relaxed);
  --ta-layout-section-stack-gap-compact: var(--ta-space-4);
  --ta-layout-section-intro-content-gap: var(--ta-space-8);
  --ta-layout-section-heading-body-gap: var(--ta-space-3);
  --ta-landing-panel-grid-gap: var(--ta-layout-grid-gap);
  /* Tablet multi-column rhythm tokens.
     These are generic layout tokens, not landing/service-specific patches.
     They deliberately use only defined spacing tokens so tablet grid gap
     declarations cannot silently become invalid. */
  --ta-grid-gap-three-column-tablet: clamp(var(--ta-space-5), 3.2vw, var(--ta-space-8));
  --ta-grid-gap-two-column-tablet: clamp(var(--ta-space-6), 4vw, var(--ta-space-12));
  --ta-grid-gap-row-tablet: var(--ta-landing-panel-grid-gap);
  --ta-grid-link-gap-tablet: var(--ta-space-4);
  --ta-landing-panel-gap: var(--ta-space-3);
  --ta-landing-card-heading-body-gap: var(--ta-page-card-heading-body-gap);
  --ta-landing-panel-link-gap: var(--ta-space-4);
  --ta-landing-route-link-gap-mobile: var(--ta-space-3);
  --ta-landing-route-stack-gap-mobile: var(--ta-space-10);
  --ta-landing-panel-padding-block: var(--ta-space-6);
  --ta-landing-panel-padding-inline: var(--ta-space-6);
  --ta-landing-panel-bg: transparent;
  --ta-landing-panel-border-color: transparent;
  --ta-landing-panel-radius: var(--ta-radius-card);
  --ta-landing-panel-link-font-size: var(--ta-font-size-sm);
  --ta-landing-panel-link-line-height: var(--ta-line-height-normal);
  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-border-width: 1px;
  --ta-home-trust-band-padding-block: clamp(0.55rem, 1.2vw, 0.8rem);
  --ta-home-trust-band-padding-block-mobile: 0.22rem;
  --ta-home-trust-band-padding-inline: var(--ta-landing-section-inner-edge-space);
  --ta-home-trust-band-content-max-width: var(--ta-landing-section-content-max-width);
  --ta-home-trust-band-item-gap: clamp(0.65rem, 2.2vw, 1.25rem);
  --ta-home-trust-band-item-separator-space: clamp(0.65rem, 1.8vw, 1rem);
  --ta-home-trust-band-item-separator-color: rgba(47, 107, 79, 0.42);
  --ta-home-trust-band-font-size: var(--ta-font-size-sm);
  --ta-home-trust-band-font-weight: var(--ta-font-weight-semibold);
  --ta-home-trust-band-line-height: var(--ta-line-height-normal);
  --ta-home-trust-band-line-height-mobile: 1.16;
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-home-trust-band-icon-size: 1em;
  --ta-home-trust-band-icon-opacity: 0.76;
  --ta-home-trust-band-stack-gap-mobile: 0.08rem;

  /* Reusable notice strip component.
     Designed for compact homepage/support notices that should sit between
     major content bands without becoming a full section. Keep this generic:
     page-specific notices should choose a variant, not create new components. */
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-border-block-start-width: 0;
  --ta-notice-strip-border-block-end-width: 0;
  --ta-notice-strip-padding-block: clamp(0.34rem, 0.62vw, 0.46rem);
  --ta-notice-strip-padding-block-start: var(--ta-notice-strip-padding-block);
  --ta-notice-strip-padding-block-end: var(--ta-notice-strip-padding-block);
  --ta-notice-strip-padding-block-mobile: var(--ta-space-2);
  --ta-notice-strip-padding-block-start-mobile: var(--ta-space-3);
  --ta-notice-strip-padding-block-end-mobile: var(--ta-notice-strip-padding-block-mobile);
  --ta-notice-strip-padding-inline: var(--ta-landing-section-inner-edge-space);
  --ta-notice-strip-content-max-width: var(--ta-landing-section-content-max-width);
  --ta-notice-strip-min-block-size: 2.35rem;
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-font-size: var(--ta-font-size-sm);
  --ta-notice-strip-font-weight: var(--ta-font-weight-medium);
  --ta-notice-strip-line-height: 1.35;
  --ta-notice-strip-text-align: center;
  --ta-notice-strip-message-gap: 0.44em;
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-message-border-width: 0;
  --ta-notice-strip-message-border-width-accent: 1px;
  --ta-notice-strip-message-radius: var(--ta-radius-pill);
  --ta-notice-strip-message-padding-block: 0.32rem;
  --ta-notice-strip-message-padding-inline: clamp(2rem, 5vw, 4rem);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-notice-strip-link-font-weight: var(--ta-font-weight-semibold);
  --ta-notice-strip-accent-border-block-start-width: 0;
  --ta-notice-strip-accent-border-block-end-width: 0;

  /* Reusable inline moving-arrow link utility.
     Used where an editorial text link needs the separate moving arrow treatment. */
  --ta-link-arrow-gap: 0.28em;
  --ta-link-arrow-hover-shift: 0.14em;
  --ta-link-arrow-opacity: 0.95;
  --ta-link-arrow-transition: transform 160ms ease, opacity 160ms ease;
  --ta-link-arrow-decoration-thickness: 0.06em;
  --ta-link-arrow-underline-offset: 0.24em;
  --ta-landing-section-content-max-width: var(--ta-page-section-content-max-width);
  --ta-landing-section-inner-edge-space: var(--ta-page-section-inner-edge-space);
  --ta-landing-section-intro-max-width: var(--ta-page-section-intro-max-width);
  --ta-landing-section-body-max-width: var(--ta-page-section-intro-body-max-width);
  --ta-landing-section-block-gap: var(--ta-page-section-content-gap);
  --ta-landing-section-heading-list-gap: var(--ta-page-section-list-gap);
  --ta-layout-band-padding-block: clamp(2rem, 5vw, 4.5rem);
  --ta-layout-band-padding-inline: var(--ta-layout-gutter);
  --ta-layout-grid-gap: clamp(1rem, 2.2vw, 2rem);
  --ta-layout-layer-z-base: 0;
  --ta-layout-layer-z-content: 1;

  /* Motion */
  --ta-transition-fast: 180ms ease;
  --ta-transition: 240ms ease;
  --ta-transition-interactive: color var(--ta-transition-fast), background-color var(--ta-transition-fast), border-color var(--ta-transition-fast), box-shadow var(--ta-transition-fast), transform var(--ta-transition-fast);

  /* Radius */
  --ta-radius: 0.5rem;
  --ta-radius-sm: 0.35rem;
  --ta-radius-pill: 999px;
  --ta-radius-card: var(--ta-radius);

  /* Shadows */
  --ta-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  --ta-shadow-mobile-panel: none;

  /* Editor parity surfaces */
  --ta-editor-canvas-bg: var(--ta-surface-page);
  --ta-editor-canvas-padding-block: clamp(1.5rem, 3vw, 2.5rem);
  --ta-editor-surface-bg: rgba(255, 255, 255, 0.84);
  --ta-editor-surface-border-color: rgba(17, 17, 17, 0.08);
  --ta-editor-surface-shadow: 0 18px 36px rgba(0, 0, 0, 0.08);
  --ta-editor-surface-padding-inline: clamp(1rem, 2vw, 1.5rem);
  --ta-editor-cover-panel-bg: transparent;
  --ta-editor-cover-panel-border-color: transparent;
  --ta-editor-cover-panel-shadow: none;
  --ta-editor-cover-panel-blur: 2px;
  --ta-editor-document-content-max-width: var(--ta-document-content-max-width);

  /* Shared dark-surface language */
  --ta-dark-surface-ink-strong: rgba(252, 255, 253, 0.98);
  --ta-dark-surface-ink: rgba(248, 253, 250, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-accent: rgba(205, 238, 219, 0.10);
  --ta-dark-surface-accent-strong: rgba(205, 238, 219, 0.92);
  --ta-dark-surface-accent-stronger: rgba(205, 238, 219, 0.98);
  --ta-dark-surface-focus-outline: rgba(205, 238, 219, 0.72);
  --ta-dark-surface-border-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-border: rgba(205, 238, 219, 0.10);

  /* Shared shell spacing */
  --ta-shell-padding-block-start: var(--ta-space-10);
  --ta-shell-padding-block-end: var(--ta-space-8);
  --ta-shell-column-gap: var(--ta-space-8);
  --ta-shell-row-gap: var(--ta-space-6);
  --ta-shell-section-gap: var(--ta-space-4);

  /* Header structure */
  --ta-header-z: 1000;
  --ta-header-admin-offset-desktop: 32px;
  --ta-header-admin-offset-mobile: 46px;
  --ta-header-admin-offset-burger-mid: var(--ta-header-admin-offset-desktop);

  /* Desktop header bars */
  --ta-nav-desktop-primary-height: 48px;
  --ta-nav-desktop-context-height: 80px;
  --ta-nav-desktop-primary-height-compact: 42px;
  --ta-nav-desktop-context-height-compact: 68px;
  --ta-nav-desktop-context-bar-bg: #184835;
  --ta-nav-desktop-shell-bg: #184835;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-primary-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  --ta-nav-desktop-context-shadow: 0 14px 32px rgba(0, 0, 0, 0.20);
  --ta-nav-desktop-shell-shadow: 0 14px 32px rgba(0, 0, 0, 0.20);
  --ta-nav-desktop-primary-gap: var(--ta-space-6);
  --ta-nav-desktop-context-gap: clamp(1.25rem, 2.4vw, 2.75rem);
  --ta-nav-desktop-actions-gap: var(--ta-space-3);
  --ta-nav-desktop-actions-padding-inline-start: var(--ta-space-4);
  --ta-nav-context-logo-min-touch-height: 44px;
  --ta-nav-context-logo-height: 36px;
  --ta-nav-context-logo-height-compact: 32px;
  --ta-nav-context-logo-image-max-height: 34px;
  --ta-nav-context-logo-image-max-height-compact: 30px;
  --ta-nav-context-logo-max-width: 256px;
  --ta-nav-context-logo-max-width-mobile: 200px;

  /* Desktop navigation links */
  --ta-nav-desktop-link-line-height: 1.25;
  --ta-nav-desktop-link-letter-spacing: 0;
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(205, 238, 219, 0.12);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(205, 238, 219, 0.22);
  --ta-nav-desktop-link-font-weight: var(--ta-font-weight-medium);
  --ta-nav-desktop-link-active-font-weight: var(--ta-font-weight-semibold);
  --ta-nav-desktop-link-radius: var(--ta-radius-sm);
  --ta-nav-desktop-link-min-height: 2.35rem;
  --ta-nav-desktop-link-padding-block-start: 0.4rem;
  --ta-nav-desktop-link-padding-inline: 0.72rem;
  --ta-nav-desktop-link-padding-block-end: 0.48rem;
  --ta-nav-desktop-link-underline-inset: 0.65rem;
  --ta-nav-desktop-link-underline-offset: 0.22rem;
  --ta-nav-desktop-link-underline-thickness: 1px;

  /* Desktop primary navigation */
  --ta-nav-desktop-primary-menu-gap: 0.55rem;
  --ta-nav-desktop-primary-link-min-height: 2rem;
  --ta-nav-desktop-primary-link-padding-block-start: 0.2rem;
  --ta-nav-desktop-primary-link-padding-inline: 0.45rem;
  --ta-nav-desktop-primary-link-padding-block-end: 0.28rem;
  --ta-nav-desktop-primary-link-font-size: var(--ta-font-size-sm);
  --ta-nav-desktop-primary-link-letter-spacing: 0.01em;
  --ta-nav-desktop-primary-link-color: rgba(240, 249, 244, 0.82);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-primary-link-underline-inset: 0.45rem;
  --ta-nav-desktop-primary-link-underline-offset: 0.14rem;
  --ta-nav-desktop-primary-link-underline-thickness: 1px;

  /* Desktop context navigation */
  --ta-nav-desktop-context-menu-gap: 0.7rem;
  --ta-nav-desktop-context-link-min-height: 2.5rem;
  --ta-nav-desktop-context-link-padding-block-start: 0.45rem;
  --ta-nav-desktop-context-link-padding-inline: 0.55rem;
  --ta-nav-desktop-context-link-padding-block-end: 0.55rem;
  --ta-nav-desktop-context-link-font-size: var(--ta-font-size-base);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-underline-inset: 0.55rem;
  --ta-nav-desktop-context-link-underline-offset: 0.22rem;
  --ta-nav-desktop-context-link-underline-thickness: 2px;

  /* Header controls / icons */
  --ta-burger-size: 2.75rem;
  --ta-burger-padding: 0.55rem;
  --ta-burger-gap: 0.28rem;
  --ta-burger-line-width: 1.4rem;
  --ta-burger-translate: 0.4rem;
  --ta-account-control-size: 2.5rem;
  --ta-account-icon-size: 1.2rem;
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(205, 238, 219, 0.24);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-nav-header-focus-outline-width: 2px;
  --ta-nav-header-focus-outline-offset: 2px;
  --ta-account-control-hover-shift: 0px;
  --ta-account-control-desktop-offset-y: 3px;
  --ta-header-desktop-top-catchup-transition-duration: 90ms;


  /* Account popover / drawer */
  --ta-account-popover-width: 15rem;
  --ta-account-popover-fallback-top-offset: 0.25rem;
  --ta-account-popover-viewport-gutter: 8px;
  --ta-account-popover-anchor-offset-y: 2px;
  --ta-account-popover-z-offset: 20;
  --ta-account-popover-closed-translate-y: -0.14rem;
  --ta-account-popover-closed-scale: 0.92;
  --ta-account-popover-open-opacity-duration: 190ms;
  --ta-account-popover-open-transform-duration: 230ms;
  --ta-account-popover-close-fallback-delay: 280ms;
  --ta-account-popover-js-fallback-width: 240px;
  --ta-account-popover-open-easing: cubic-bezier(0.16, 0.95, 0.2, 1);
  --ta-account-popover-inner-padding: 0.3rem;
  --ta-account-popover-border-width: 1px;
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-radius: 0.9rem;
  --ta-account-popover-user-radius: 0.9rem 0.9rem 0.45rem 0.45rem;
  --ta-account-popover-menu-radius: 0.5rem;
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-account-popover-user-gap: 0.55rem;
  --ta-account-popover-user-padding: 0.55rem 0.58rem 0.6rem;
  --ta-account-popover-user-margin: calc(-1 * var(--ta-account-popover-inner-padding)) calc(-1 * var(--ta-account-popover-inner-padding)) 0.15rem;
  --ta-account-popover-avatar-size: 1.9rem;
  --ta-account-popover-avatar-font-size: 0.78rem;
  --ta-account-popover-user-text-gap: 0.1rem;
  --ta-account-popover-user-name-font-size: 0.86rem;
  --ta-account-popover-user-email-font-size: 0.74rem;
  --ta-account-popover-nav-gap: 0.22rem;
  --ta-account-popover-group-gap: 0.22rem;
  --ta-account-popover-link-gap: 0.55rem;
  --ta-account-popover-link-min-height: 2rem;
  --ta-account-popover-link-padding-block: 0.42rem;
  --ta-account-popover-link-padding-inline: 0.5rem;
  --ta-account-popover-link-font-size: 0.84rem;
  --ta-account-popover-icon-box-size: 1.25rem;
  --ta-account-popover-icon-size: 1rem;
  --ta-account-drawer-user-gap: 0.75rem;
  --ta-account-drawer-avatar-size: 2.4rem;
  --ta-account-drawer-avatar-bg: rgba(255, 255, 255, 0.14);
  --ta-account-drawer-avatar-font-size: 0.9rem;
  --ta-account-drawer-user-text-gap: 0.12rem;
  --ta-account-drawer-user-name-font-size: 0.95rem;
  --ta-account-drawer-user-email-font-size: 0.8rem;
  --ta-account-drawer-link-gap: 0.75rem;
  --ta-account-drawer-icon-box-size: 1.78rem;
  --ta-account-drawer-icon-size: 1.34rem;
  --ta-account-drawer-user-email-opacity: 0.86;
  --ta-nav-mobile-drawer-transition: 220ms ease;
  --ta-nav-mobile-group-heading-margin-bottom: 0.15rem;

  /* Desktop header motion thresholds consumed by header.js */
  --ta-header-scroll-clear-near-top: 8px;
  --ta-header-scroll-compact-start: 24px;
  --ta-header-scroll-floating-start: 6px;
  --ta-header-scroll-primary-hide-at: 72px;
  --ta-header-scroll-all-hide-at: 156px;
  --ta-header-scroll-min-delta: 3px;
  --ta-header-scroll-primary-hide-distance: 20px;
  --ta-header-scroll-all-hide-distance: 26px;
  --ta-header-scroll-reveal-threshold: 10px;
  --ta-header-scroll-reveal-duration: 2500ms;
  --ta-header-scroll-stop-delay: 140ms;
  --ta-header-scroll-top-catchup-zone: 36px;

/* Derived clearance/system tokens
   These centralise repeated header-stack and hero-clearance formulas so shell.css and editor.css
   consume the same semantic calculations instead of restating them inline. */
--ta-header-desktop-stack-height: calc(var(--ta-nav-desktop-primary-height) + var(--ta-nav-desktop-context-height));
--ta-header-desktop-stack-height-admin: calc(var(--ta-header-desktop-stack-height) + var(--ta-header-admin-offset-desktop));
--ta-hero-burger-visual-clearance: var(--ta-nav-mobile-header-height);
--ta-hero-mobile-clearance-top: calc(var(--ta-hero-burger-visual-clearance) - var(--ta-header-burger-clearance-trim-mobile) + var(--ta-hero-mobile-content-padding-top));
--ta-hero-narrow-tablet-clearance-top: calc(var(--ta-hero-burger-visual-clearance) - var(--ta-header-burger-clearance-trim-mobile) + var(--ta-hero-narrow-tablet-content-padding-top) + var(--ta-hero-narrow-tablet-clearance-offset));
--ta-hero-mid-tablet-clearance-top: calc(var(--ta-hero-burger-visual-clearance) + var(--ta-hero-mid-tablet-burger-content-padding-top) + var(--ta-hero-mid-tablet-clearance-offset));
--ta-hero-large-tablet-clearance-top: calc(var(--ta-header-desktop-stack-height) + var(--ta-hero-large-tablet-desktop-content-padding-top) + var(--ta-hero-large-tablet-clearance-offset));
--ta-hero-desktop-clearance-top: calc(var(--ta-header-desktop-stack-height) + var(--ta-hero-desktop-content-padding-top));
--ta-hero-desktop-clearance-top-admin: calc(var(--ta-header-desktop-stack-height-admin) + var(--ta-hero-desktop-content-padding-top));

  /* Panel spacing */
  --ta-panel-padding-inline-mobile: 1rem;
  --ta-nav-drawer-padding-inline-mobile: var(--ta-panel-padding-inline-mobile);
  --ta-utility-panel-padding-inline-mobile: var(--ta-nav-drawer-padding-inline-mobile);

  /* Burger/mobile header tokens
     Ownership contract:
     - these drive the single-bar burger header up to 900px
     - large tablet does not use these for header ownership once desktop header takes over at 901px
     - --ta-header-burger-clearance remains the live page-start clearance source for non-hero content
     - hero composition uses the stable --ta-hero-burger-visual-clearance family above so hero positioning stays deterministic across navigation history */
  --ta-nav-mobile-header-height: 72px;
  --ta-header-burger-clearance: var(--ta-live-header-offset, var(--ta-nav-mobile-header-height));
  --ta-header-burger-clearance-trim-mobile: 18px;
  --ta-header-burger-boundary-top-trim: 3px;
  --ta-nav-mobile-context-gap-tight: 0.7rem;
  --ta-nav-mobile-logo-height: 34px;
  --ta-nav-mobile-logo-max-width: min(56vw, 196px);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-padding-block-start: 0rem;
  --ta-nav-mobile-drawer-padding-block-end: 0.95rem;
  --ta-nav-mobile-drawer-gap: 0.95rem;
  --ta-nav-mobile-drawer-width: var(--ta-utility-panel-width);
  --ta-nav-mobile-drawer-top-overlap: 4px;
  --ta-nav-mobile-drawer-max-height: calc(100dvh - var(--ta-nav-mobile-live-header-height) - var(--ta-nav-mobile-group-stack-gap));
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-drawer-shadow: var(--ta-shadow-mobile-panel);
  --ta-nav-mobile-group-radius: 14px;
  --ta-nav-mobile-group-stack-gap: 1rem;
  --ta-nav-mobile-group-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-mobile-menu-line-height: 1.3;
  --ta-nav-mobile-link-hover-bg: rgba(224, 248, 234, 0.10);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(205, 238, 219, 0.24);
  --ta-nav-mobile-menu-inline-padding: 0.1rem;
  --ta-nav-mobile-burger-size: 2.65rem;
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-account-toggle-size: 2.55rem;

  /* Mobile burger primary group */
  --ta-nav-mobile-primary-group-padding-top: 0.85rem;
  --ta-nav-mobile-primary-group-padding-inline: 0.85rem;
  --ta-nav-mobile-primary-group-padding-bottom: 0.85rem;
  --ta-nav-mobile-primary-group-inner-gap: 0.3rem;
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-display: none;
  --ta-nav-mobile-primary-group-label-font-size: var(--ta-font-size-xs);
  --ta-nav-mobile-primary-group-label-font-weight: var(--ta-font-weight-semibold);
  --ta-nav-mobile-primary-group-label-letter-spacing: 0.02em;
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-padding-inline-start: 0.6rem;
  --ta-nav-mobile-primary-link-padding-block: 0.66rem;
  --ta-nav-mobile-primary-link-font-size: 0.98rem;
  --ta-nav-mobile-primary-link-font-weight: var(--ta-font-weight-medium);
  --ta-nav-mobile-primary-link-color: rgba(240, 249, 244, 0.84);
  --ta-nav-mobile-primary-link-hover-color: rgba(224, 248, 234, 0.98);
  --ta-nav-mobile-primary-link-active-font-weight: var(--ta-font-weight-semibold);
  --ta-nav-mobile-primary-link-active-color: rgba(244, 252, 247, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(224, 248, 234, 0.12);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(205, 238, 219, 0.86);
  --ta-nav-mobile-primary-link-active-accent-width: 3px;

  /* Mobile burger context group */
  --ta-nav-mobile-context-group-padding-top: 0.85rem;
  --ta-nav-mobile-context-group-padding-inline: 0.85rem;
  --ta-nav-mobile-context-group-padding-bottom: 0.85rem;
  --ta-nav-mobile-context-group-inner-gap: 0.3rem;
  --ta-nav-mobile-context-group-bg: rgba(205, 238, 219, 0.05);
  --ta-nav-mobile-context-group-label-display: none;
  --ta-nav-mobile-context-group-label-font-size: var(--ta-font-size-xs);
  --ta-nav-mobile-context-group-label-font-weight: var(--ta-font-weight-semibold);
  --ta-nav-mobile-context-group-label-letter-spacing: 0.02em;
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-padding-block: 0.74rem;
  --ta-nav-mobile-context-link-font-size: var(--ta-font-size-lg);
  --ta-nav-mobile-context-link-font-weight: var(--ta-font-weight-medium);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(229, 249, 237, 0.99);
  --ta-nav-mobile-context-link-active-font-weight: var(--ta-font-weight-semibold);
  --ta-nav-mobile-context-link-active-color: rgba(239, 249, 243, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-thickness: 2px;
  --ta-nav-mobile-context-link-active-underline-color: rgba(205, 238, 219, 0.92);

  /* Mobile utility panel */
  --ta-utility-panel-width: min(88vw, 22rem);
  --ta-utility-panel-bg: rgba(39, 45, 41, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-padding-block-start: 0.9rem;
  --ta-utility-panel-padding-block-end: 1rem;
  --ta-utility-panel-menu-link-padding-block: 0.82rem;
  --ta-utility-panel-link-font-size: var(--ta-font-size-base);
  --ta-utility-panel-link-font-weight: var(--ta-font-weight-regular);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-utility-panel-link-primary-font-weight: var(--ta-font-weight-semibold);

  /* Mobile action controls */

  /* =========================================
     FOOTER TOKENS
     Active semantic token layer for the live footer subsystem.
  ========================================= */
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-padding-block: var(--ta-space-8);
  --ta-pre-footer-gap: var(--ta-space-4);
  --ta-pre-footer-title-font-size: var(--ta-font-size-md);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);

  --ta-footer-surface-base: #17191c;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);

  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-shell-padding-block-start: var(--ta-shell-padding-block-start);
  --ta-footer-shell-padding-block-end: var(--ta-shell-padding-block-end);
  --ta-footer-column-gap: var(--ta-shell-column-gap);
  --ta-footer-row-gap: var(--ta-shell-row-gap);
  --ta-footer-section-gap: var(--ta-shell-section-gap);
  --ta-footer-heading-font-size: var(--ta-font-size-sm);
  --ta-footer-body-font-size: var(--ta-font-size-sm);
  --ta-footer-meta-font-size: var(--ta-font-size-xs);
  --ta-footer-link-line-height: 1.5;
  --ta-footer-meta-line-height: 1.5;
  --ta-footer-focus-outline-width: 2px;
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-footer-focus-outline-offset: 2px;
  --ta-footer-focus-radius: var(--ta-radius-sm);
  --ta-footer-main-bg: var(--ta-footer-bg);
  --ta-footer-main-padding-block-start: var(--ta-footer-shell-padding-block-start);
  --ta-footer-main-padding-block-end: var(--ta-footer-shell-padding-block-end);
  --ta-footer-main-grid-gap: var(--ta-footer-column-gap);
  --ta-footer-main-column-min: 14rem;
  --ta-footer-brand-max-width: 22rem;
  --ta-footer-brand-gap: var(--ta-space-3);
  --ta-footer-brand-offset-block-start: -0.4375rem;
  --ta-footer-link-list-gap: 0.375rem;
  --ta-footer-brand-title-font-size: var(--ta-font-size-base);
  --ta-footer-brand-text-color: var(--ta-footer-heading-color);
  --ta-footer-brand-mark-color: var(--ta-footer-heading-color);
  --ta-footer-ecosystem-group-gap: var(--ta-space-2);
  --ta-footer-local-group-gap: var(--ta-space-2);
  --ta-footer-legal-group-gap: var(--ta-space-2);
  --ta-footer-legal-link-font-size: var(--ta-font-size-xs);
  --ta-footer-bottom-bg: var(--ta-footer-bg);
  --ta-footer-bottom-padding-block: var(--ta-space-2);
  --ta-footer-bottom-font-size: var(--ta-font-size-xs);
  --ta-footer-bottom-color: var(--ta-footer-ink-faint);
  --ta-footer-bottom-link-color: var(--ta-dark-surface-accent-strong);
  --ta-footer-mobile-section-gap: var(--ta-space-5);
  --ta-footer-mobile-section-inner-gap: var(--ta-space-2);
  --ta-footer-mobile-heading-gap: var(--ta-space-2);
  --ta-footer-mobile-stack-gap: var(--ta-space-3);
  --ta-footer-mobile-link-padding-block: 0.1875rem;
  --ta-footer-border-width: 1px;
  --ta-footer-action-min-height: 2.75rem;
  --ta-footer-action-padding-block: 0.8rem;
  --ta-footer-action-padding-inline: 1.15rem;
  --ta-footer-action-hover-shift: -1px;
  --ta-footer-brand-logo-max-width: 7rem;
  --ta-footer-brand-logo-height: 2rem;
  --ta-footer-heading-letter-spacing: 0.02em;
  --ta-footer-link-min-height: 1.25rem;
  --ta-footer-link-underline-offset: 0.18em;
  --ta-footer-bottom-gap: var(--ta-space-4);
  --ta-footer-bottom-copy-gap: 0.18rem;
  --ta-footer-bottom-meta-font-size: 0.92em;
  --ta-footer-mobile-link-min-height: 1.35rem;
  --ta-footer-bottom-mobile-gap: var(--ta-space-2);

  /* Content typography */
  --ta-content-max-width: var(--ta-layout-width-reading);
  --ta-content-font-size: var(--ta-font-size-md);
  --ta-content-line-height: 1.75;
  --ta-content-heading-line-height: 1.12;
  --ta-content-heading-max-width: 22ch;
  --ta-content-heading-font-weight: var(--ta-font-weight-semibold);
  --ta-content-heading-color: var(--ta-color-text-strong);
  --ta-content-heading-letter-spacing: -0.018em;
  --ta-content-body-color: var(--ta-color-text);
  --ta-content-link-color: var(--ta-color-primary);
  --ta-content-link-hover-color: var(--ta-color-primary-strong);
  --ta-content-link-decoration-thickness: 1px;
  --ta-content-link-decoration-thickness-hover: 2px;
  --ta-content-link-underline-offset: 0.16em;
  --ta-content-block-gap: clamp(1rem, 1.6vw, 1.4rem);
  --ta-content-section-gap: clamp(1.1rem, 2.5vw, 1.85rem);
  --ta-content-section-stack-gap: var(--ta-document-content-section-gap);

  /* Making Tax Digital compact lead-generation layout.
     These tokens only control the MTD page grid/form arrangement; typography and
     general content rhythm continue to come from the shared document/contact systems. */
  --ta-mtd-lead-aside-min-width: 22rem;
  --ta-mtd-lead-aside-column-fr: 0.86fr;
  --ta-mtd-lead-grid-gap: clamp(var(--ta-space-5), 3vw, var(--ta-space-8));
  --ta-mtd-list-gap: var(--ta-space-2);
  --ta-mtd-compact-textarea-min-height: 6.5rem;
  --ta-mtd-form-required-note-space: var(--ta-space-2);
  --ta-content-list-indent: 1.35rem;
  --ta-content-list-item-gap: 0.5rem;
  --ta-content-title-font-size: var(--ta-font-size-3xl);
  --ta-content-title-margin-block-end: clamp(1rem, 2vw, 1.4rem);
  --ta-content-h2-font-size: var(--ta-font-size-2xl);
  --ta-content-h2-margin-block-start: clamp(2.4rem, 5vw, 3.6rem);
  --ta-content-h2-margin-block-end: 1rem;
  --ta-content-h3-font-size: var(--ta-font-size-xl);
  --ta-content-h3-margin-block-start: clamp(1.85rem, 4vw, 2.7rem);
  --ta-content-h3-margin-block-end: 0.8rem;
  --ta-content-h4-font-size: 1.12rem;
  --ta-content-h4-margin-block-start: 1.5rem;
  --ta-content-h4-margin-block-end: 0.6rem;
  --ta-content-small-font-size: var(--ta-font-size-sm);
  --ta-content-caption-color: var(--ta-color-muted);
  --ta-content-rule-color: var(--ta-color-border);
  --ta-content-rule-margin-block: clamp(2rem, 4vw, 3rem);
  --ta-content-code-bg: rgba(17, 17, 17, 0.045);
  --ta-content-code-radius: var(--ta-radius-sm);
  --ta-content-code-padding-inline: 0.28rem;
  --ta-content-code-padding-block: 0.12rem;
  /* Primary action buttons
   * Shared by native content CTAs and contact-form submit controls.
   */
  --ta-action-primary-bg: color-mix(in srgb, var(--ta-color-primary) 88%, var(--ta-color-surface));
  --ta-action-primary-color: var(--ta-color-surface);
  --ta-action-primary-hover-bg: var(--ta-color-primary);
  --ta-action-primary-focus-ring: 0 0 0 3px var(--ta-color-focus-ring);
  --ta-action-primary-font-size: var(--ta-font-size-base);
  --ta-action-primary-line-height: var(--ta-line-height-tight);
  --ta-action-primary-padding-block: 0.5rem;
  --ta-action-primary-padding-inline: 0.9rem;
  --ta-action-primary-min-height: 2.5rem;
  --ta-action-primary-radius: 0;
  --ta-action-primary-font-weight: var(--ta-font-weight-medium);
  --ta-content-blockquote-border-color: var(--ta-color-border-strong);
  --ta-content-blockquote-bg: var(--ta-color-surface-alt);

  /* Shared quiet page banner used by policy, resources, about, and contact pages. */
  --ta-page-band-bg-start: color-mix(in srgb, var(--ta-nav-desktop-context-bar-bg) 22%, var(--ta-surface-page) 78%);
  --ta-page-band-bg-end: color-mix(in srgb, var(--ta-nav-desktop-context-bar-bg) 6%, var(--ta-surface-page) 94%);
  --ta-page-band-padding-block: clamp(2.1rem, 4.2vw, 3.4rem);
  --ta-page-band-padding-block-mobile: clamp(1.7rem, 6.4vw, 2.4rem);
  --ta-page-band-title-font-size: clamp(2rem, 4vw, 3rem);
  --ta-page-band-title-line-height: 1.08;
  --ta-page-band-title-font-weight: var(--ta-font-weight-semibold);
  --ta-page-band-title-letter-spacing: -0.025em;
  --ta-page-band-title-max-width: 30ch;
  --ta-page-band-content-max-width: var(--ta-layout-width-content);
  --ta-page-band-summary-max-width: 68ch;
  --ta-page-band-summary-space: 0.85rem;
  --ta-page-band-summary-font-size: clamp(1rem, 0.96rem + 0.18vw, 1.1rem);
  --ta-page-band-summary-line-height: 1.5;
  --ta-page-band-summary-font-weight: var(--ta-font-weight-regular);

  /* Shared document / long-form content */
  --ta-ancillary-content-shell-max-width: var(--ta-layout-width-content);
  --ta-document-content-max-width: 96ch;
  --ta-pre-footer-content-max-width: 60ch;
  --ta-footer-local-descriptor-max-width: 32ch;
  --ta-footer-local-descriptor-max-width-mobile: 36ch;
  --ta-footer-legal-link-max-width: 30ch;
  --ta-document-content-start-space: clamp(1.25rem, 1rem + 0.9vw, 2rem);
  --ta-document-content-start-space-mobile: 1rem;
  --ta-document-content-line-height: 1.78;
  --ta-document-content-block-gap: 0.9em;
  --ta-document-content-paragraph-gap: 1.05em;
  --ta-document-content-section-gap: 2.35em;
  --ta-document-content-heading-gap: 1rem;
  --ta-document-content-h2-font-size: clamp(1.68rem, 1.58rem + 0.32vw, 1.92rem);
  --ta-document-content-h2-line-height: 1.18;
  --ta-document-content-h2-font-weight: var(--ta-font-weight-medium);
  --ta-document-content-h2-color: var(--ta-color-text);
  --ta-document-content-h3-font-size: clamp(1.24rem, 1.18rem + 0.18vw, 1.34rem);
  --ta-document-content-h3-line-height: 1.24;
  --ta-document-content-h3-margin-top: clamp(1.8rem, 3vw, 2.3rem);
  --ta-document-content-meta-font-size: 0.95rem;
  --ta-document-content-meta-color: var(--ta-color-muted);
  --ta-document-content-meta-gap: 1.6em;

  /* About page credential block */
  --ta-about-credential-logo-max-width: 32.5rem;

  /* Resources page content. Starts from the policy document content model,
     but keeps its own content token surface for later resources-specific refinement. */
  --ta-resources-content-max-width: var(--ta-document-content-max-width);
  --ta-resources-content-start-space: var(--ta-document-content-start-space);
  --ta-resources-content-start-space-mobile: var(--ta-document-content-start-space-mobile);
  --ta-resources-content-line-height: var(--ta-document-content-line-height);
  --ta-resources-content-block-gap: var(--ta-document-content-block-gap);
  --ta-resources-content-paragraph-gap: var(--ta-document-content-paragraph-gap);
  --ta-resources-content-section-gap: var(--ta-document-content-section-gap);
  --ta-resources-content-heading-gap: var(--ta-document-content-heading-gap);
  --ta-resources-content-h2-font-size: var(--ta-document-content-h2-font-size);
  --ta-resources-content-h2-line-height: var(--ta-document-content-h2-line-height);
  --ta-resources-content-h2-font-weight: var(--ta-document-content-h2-font-weight);
  --ta-resources-content-h2-color: var(--ta-document-content-h2-color);
  --ta-resources-content-h3-font-size: var(--ta-document-content-h3-font-size);
  --ta-resources-content-h3-line-height: var(--ta-document-content-h3-line-height);

  /* Company Information page content. Public-record style: structured, factual,
     and deliberately separate from service/card layouts. */
  --ta-company-content-max-width: var(--ta-document-content-max-width);
  --ta-company-content-start-space: clamp(1.85rem, 1.5rem + 0.9vw, 2.6rem);
  --ta-company-content-start-space-mobile: var(--ta-space-6);
  --ta-company-content-line-height: var(--ta-resources-content-line-height);
  --ta-company-intro-max-width: var(--ta-page-section-intro-body-max-width);
  --ta-company-intro-font-size: var(--ta-font-size-lg);
  --ta-company-summary-max-width: 52ch;
  /* Company sections use the public-record page rhythm. The terminal related-links
     section has its own semantic handoff token because it is a support list, not
     another factual record group. */
  --ta-company-section-gap: clamp(2.1rem, 1.55rem + 1vw, 2.85rem);
  --ta-company-related-section-gap: var(--ta-company-section-gap);
  --ta-company-section-inner-gap: var(--ta-company-heading-entry-gap);
  --ta-company-record-label-min-width: 13.5rem;
  --ta-company-record-label-width: 13.5rem;
  --ta-company-record-column-gap: var(--ta-space-8);
  --ta-company-record-row-gap: var(--ta-space-4);
  --ta-company-record-row-padding-block: 0;
  --ta-company-heading-entry-gap: clamp(1.25rem, 1rem + 0.55vw, 1.65rem);


  /* Contact page form */
  --ta-contact-content-start-space: clamp(1.25rem, 1rem + 0.9vw, 2rem);
  --ta-contact-content-start-space-mobile: 1rem;
  --ta-contact-grid-gap: clamp(1rem, 2vw, 1.5rem);
  --ta-contact-grid-gap-mobile: 0.6rem;
  --ta-contact-form-gap: clamp(1rem, 2vw, 1.4rem);
  --ta-contact-form-gap-mobile: 0.62rem;
  --ta-contact-header-gap: 0.45rem;
  --ta-contact-header-margin-bottom: 0.9rem;
  --ta-contact-header-margin-bottom-mobile: 0.8rem;
  --ta-contact-title-max-width: 30ch;
  --ta-contact-intro-margin-bottom: 0.9rem;
  --ta-contact-intro-margin-bottom-mobile: 0.6rem;
  /* Text measure, not a breakpoint. Keep this as a readable line-length token,
     not a device-width value. */
  --ta-contact-intro-max-width: 60ch;
  --ta-contact-notice-gap: 1.15rem;
  --ta-contact-label-font-size: 0.98rem;
  --ta-contact-label-font-weight: var(--ta-font-weight-semibold);
  --ta-contact-required-color: #b42318;
  --ta-contact-field-gap: 0.45rem;
  --ta-contact-field-gap-mobile: 0.34rem;
  --ta-contact-form-group-gap: 0rem;
  --ta-contact-form-group-gap-mobile: 0.18rem;
  --ta-contact-field-error-min-height: 1.25em;
  --ta-contact-input-min-height: 3rem;
  --ta-contact-input-padding-block: 0.72rem;
  --ta-contact-input-padding-inline: 0.9rem;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-radius: var(--ta-radius-sm);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-padding-block: 0.9rem;
  --ta-contact-notice-padding-inline: 1rem;
  --ta-contact-notice-radius: var(--ta-radius-sm);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-margin-top: clamp(1.5rem, 1.1rem + 1vw, 2.25rem);
  --ta-contact-after-form-padding-top: clamp(1.1rem, 0.9rem + 0.6vw, 1.55rem);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-contact-after-form-gap: var(--ta-space-3);
  /* After-form alternatives share the contact shell left edge while keeping
     a narrower prose measure for short email/phone details. */
  --ta-contact-after-form-max-width: var(--ta-document-content-max-width);
  --ta-service-content-max-width: var(--ta-page-section-content-max-width);
  --ta-service-content-start-space: clamp(1.25rem, 1rem + 0.9vw, 2rem);
  --ta-service-content-start-space-mobile: 1rem;
  --ta-service-header-margin-bottom: clamp(1.05rem, 1.45vw, 1.65rem);
  --ta-service-title-max-width: clamp(20ch, 17ch + 3vw, 26ch);
  --ta-service-summary-max-width: 44rem;
  --ta-service-summary-font-size: clamp(1.04rem, 0.98rem + 0.22vw, 1.16rem);
  --ta-service-summary-line-height: 1.6;
  --ta-service-body-max-width: var(--ta-service-content-max-width);
  --ta-service-body-section-gap: clamp(2rem, 3vw, 3rem);

  --ta-service-band-padding-block: clamp(1.5rem, 2.8vw, 2.4rem);
  --ta-service-band-padding-inline: clamp(1rem, 2.2vw, 1.5rem);
  --ta-service-band-radius: var(--ta-radius);
  --ta-service-band-bg: var(--ta-color-surface-soft-accent);
  --ta-service-band-border-color: var(--ta-color-border);
  --ta-service-card-padding-block: 1.1rem;
  --ta-service-card-padding-inline: 1rem;
  --ta-service-card-bg: var(--ta-color-surface);
  --ta-service-card-border-color: var(--ta-color-border);
  --ta-service-card-radius: var(--ta-radius-sm);
  --ta-service-card-title-font-size: 1.02rem;
  --ta-service-card-title-line-height: 1.25;
  --ta-service-icon-size: 3rem;
  --ta-service-icon-bg: var(--ta-color-surface-soft-accent);
  --ta-service-icon-color: var(--ta-color-primary);
  --ta-service-split-grid-template-columns: repeat(2, minmax(0, 1fr));
  --ta-service-media-tall-max-inline-size: 100%;
  --ta-service-media-tall-grid-template-columns: var(--ta-service-split-grid-template-columns);
  --ta-service-media-wide-grid-template-columns: 1fr;
  --ta-service-link-row-gap: 0.8rem;
  --ta-content-blockquote-color: var(--ta-color-text-soft);
  --ta-content-blockquote-padding-block: clamp(1rem, 2vw, 1.35rem);
  --ta-content-blockquote-padding-inline: clamp(1rem, 2.5vw, 1.5rem);
  --ta-content-blockquote-cite-color: var(--ta-color-muted);
  --ta-content-pre-bg: var(--ta-color-surface-alt);
  --ta-content-pre-border-color: var(--ta-color-border);
  --ta-content-pre-radius: var(--ta-radius-sm);
  --ta-content-pre-padding: clamp(1rem, 2vw, 1.25rem);
  --ta-content-table-border-color: var(--ta-color-border);
  --ta-content-table-header-bg: var(--ta-color-surface-alt);
  --ta-content-table-row-stripe-bg: rgba(17, 17, 17, 0.02);
  --ta-content-table-cell-padding-block: 0.75rem;
  --ta-content-table-cell-padding-inline: 0.9rem;
  --ta-content-media-radius: var(--ta-radius-sm);
  --ta-content-group-gap: var(--ta-content-section-gap);
  --ta-content-buttons-gap: var(--ta-space-3);
  --ta-content-columns-gap: clamp(1.5rem, 3vw, 2.6rem);


  /* Hero system
     - Four explicit frontend modes: desktop, mid tablet, narrow tablet, mobile
     - Hero Page template inherits these automatically for the first full-width Cover
     - .ta-cover-hero remains the explicit opt-in hook for patterns or manual hero blocks */
  --ta-hero-surface-bg: #1c1f1d;
  --ta-hero-overlay-opacity: 0.12;
  --ta-hero-shell-max-width: 52rem;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-title-shadow: 0 4px 14px rgba(0, 0, 0, 0.42), 0 1px 2px rgba(0, 0, 0, 0.48);
  --ta-hero-title-letter-spacing: -0.022em;
  --ta-hero-body-font-weight: var(--ta-font-weight-medium);
  --ta-hero-body-color: #ffffff;
  --ta-hero-body-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.25);
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(248, 253, 250, 0.88);

  /* Fluid hero-height model
     The hero image top edge stays fixed under the overlapping header system.
     Use one continuous clamp() curve across desktop and burger paths so the hero body does not jump
     at the desktop-to-burger boundary; the breakpoint system still exists for other layout concerns.
     The middle vw term controls the rate of downward growth as the viewport widens. */
  --ta-hero-fluid-height-unified: clamp(24.64rem, 19.85rem + 21.27vw, 39rem);
  --ta-hero-desktop-height: var(--ta-hero-fluid-height-unified);
  --ta-hero-large-tablet-height: var(--ta-hero-fluid-height-unified);
  --ta-hero-mid-tablet-height: var(--ta-hero-fluid-height-unified);
  --ta-hero-narrow-tablet-height: var(--ta-hero-fluid-height-unified);
  --ta-hero-mobile-height: var(--ta-hero-fluid-height-unified);

  /* Fluid hero type scale
     Use two smooth curves so hero typography scales continuously with the hero image/container.
     Desktop and burger/mobile still hand over at the existing header-mode breakpoint. */
  --ta-hero-fluid-title-font-size-desktop: clamp(2.35rem, 1.72rem + 1.12vw, 2.95rem);
  --ta-hero-fluid-title-font-size-burger: clamp(1.82rem, 1.34rem + 1.22vw, 2.36rem);
  --ta-hero-fluid-body-font-size-desktop: clamp(1.08rem, 0.94rem + 0.24vw, 1.24rem);
  --ta-hero-fluid-body-font-size-burger: clamp(1rem, 0.94rem + 0.18vw, 1.08rem);

  /* Desktop mode */
  --ta-hero-desktop-min-height: var(--ta-hero-desktop-height);
  --ta-hero-desktop-content-padding-top: 3.5rem;
  --ta-hero-desktop-content-padding-bottom: clamp(2.75rem, 6vw, 5rem);
  --ta-hero-desktop-title-max-width: clamp(24ch, 19ch + 4vw, 32ch);
  --ta-hero-desktop-title-font-size: var(--ta-hero-fluid-title-font-size-desktop);
  --ta-hero-desktop-title-line-height: 1.05;
  --ta-hero-desktop-body-max-width: 35rem;
  --ta-hero-desktop-body-margin-top: 1.125rem;
  --ta-hero-desktop-body-font-size: var(--ta-hero-fluid-body-font-size-desktop);
  --ta-hero-desktop-body-line-height: 1.55;
  --ta-hero-desktop-buttons-margin-top: 2.2rem;

  /* Mid tablet hero mode (still burger-header driven, 783-900px) */
  --ta-hero-mid-tablet-min-height: var(--ta-hero-mid-tablet-height);
  --ta-hero-mid-tablet-title-max-width: clamp(22ch, 18ch + 4vw, 28ch);
  --ta-hero-mid-tablet-body-max-width: 19.5rem;
  --ta-hero-mid-tablet-burger-content-padding-top: clamp(2.95rem, 2.55rem + 0.9vw, 3.45rem);
  --ta-hero-mid-tablet-clearance-offset: clamp(-0.15rem, -0.05rem + 0.15vw, 0.15rem);
  --ta-hero-mid-tablet-content-padding-bottom: clamp(2.25rem, 4vw, 3.25rem);
  --ta-hero-mid-tablet-title-font-size: var(--ta-hero-fluid-title-font-size-burger);
  --ta-hero-mid-tablet-title-line-height: 1.03;
  --ta-hero-mid-tablet-body-margin-top: 1.1rem;
  --ta-hero-mid-tablet-body-font-size: var(--ta-hero-fluid-body-font-size-burger);
  --ta-hero-mid-tablet-body-line-height: 1.54;

  /* Large tablet hero mode (desktop-header driven, 901-1100px) */
  --ta-hero-large-tablet-min-height: var(--ta-hero-large-tablet-height);
  --ta-hero-large-tablet-content-max-width: clamp(36rem, 28rem + 12vw, 46rem);
  --ta-hero-large-tablet-title-max-width: clamp(24ch, 20ch + 3vw, 31ch);
  --ta-hero-large-tablet-body-max-width: 25rem;
  --ta-hero-large-tablet-desktop-content-padding-top: clamp(2.45rem, 1.7rem + 1.4vw, 3.1rem);
  --ta-hero-large-tablet-clearance-offset: clamp(0.3rem, 0.15rem + 0.35vw, 0.55rem);
  --ta-hero-large-tablet-content-padding-bottom: clamp(2.15rem, 3.8vw, 3rem);
  --ta-hero-large-tablet-title-font-size: var(--ta-hero-fluid-title-font-size-desktop);
  --ta-hero-large-tablet-title-line-height: 1.04;
  --ta-hero-large-tablet-body-margin-top: 1.15rem;
  --ta-hero-large-tablet-body-font-size: var(--ta-hero-fluid-body-font-size-desktop);
  --ta-hero-large-tablet-body-line-height: 1.55;
  --ta-hero-large-tablet-content-shift-x: -8px;
  --ta-hero-large-tablet-buttons-margin-top: 2rem;

  /* Narrow tablet hero mode (burger-header driven boundary band, 768-782px) */
  --ta-hero-narrow-tablet-min-height: var(--ta-hero-narrow-tablet-height);
  --ta-hero-narrow-tablet-content-padding-top: 0.75rem;
  --ta-hero-narrow-tablet-clearance-offset: clamp(0.65rem, 0.4rem + 0.45vw, 0.95rem);
  --ta-hero-narrow-tablet-content-padding-bottom: var(--ta-hero-mid-tablet-content-padding-bottom);
  --ta-hero-narrow-tablet-title-max-width: clamp(22ch, 18ch + 4vw, 28ch);
  --ta-hero-narrow-tablet-title-font-size: var(--ta-hero-fluid-title-font-size-burger);
  --ta-hero-narrow-tablet-title-line-height: 1.03;
  --ta-hero-narrow-tablet-body-max-width: 18.75rem;
  --ta-hero-narrow-tablet-body-margin-top: var(--ta-hero-mid-tablet-body-margin-top);
  --ta-hero-narrow-tablet-body-font-size: var(--ta-hero-fluid-body-font-size-burger);
  --ta-hero-narrow-tablet-body-line-height: var(--ta-hero-mid-tablet-body-line-height);
  --ta-hero-narrow-tablet-buttons-margin-top: var(--ta-hero-desktop-buttons-margin-top);

  /* Mobile hero mode (<= 767px) */
  --ta-hero-mobile-min-height: var(--ta-hero-mobile-height);
  --ta-hero-mobile-content-padding-top: 1.35rem;
  --ta-hero-mobile-content-padding-bottom: 1.25rem;
  --ta-hero-mobile-title-max-width: 24ch;
  --ta-hero-mobile-title-font-size: var(--ta-hero-fluid-title-font-size-burger);
  --ta-hero-mobile-title-line-height: 1.05;
  --ta-hero-mobile-body-max-width: min(68vw, 20.5rem);
  --ta-hero-mobile-body-margin-top: 0.95rem;
  --ta-hero-mobile-body-font-size: var(--ta-hero-fluid-body-font-size-burger);
  --ta-hero-mobile-body-line-height: 1.53;
  --ta-hero-mobile-buttons-margin-top: 1.45rem;
  --ta-hero-mobile-buttons-width: min(100%, 16rem);

  /* Cover-first hero tokens */
  --ta-cover-hero-content-max-width: min(var(--ta-hero-shell-max-width), 100%);
  --ta-cover-hero-content-optical-shift-x: 0px;
  --ta-cover-hero-mid-tablet-content-optical-shift-x: 0px;
  --ta-cover-hero-mid-tablet-content-optical-shift-y: 0px;
  --ta-cover-hero-large-tablet-content-optical-shift-x: 0px;
  --ta-cover-hero-large-tablet-content-optical-shift-y: 0px;
  --ta-cover-hero-narrow-tablet-content-optical-shift-x: 0px;
  --ta-cover-hero-narrow-tablet-content-optical-shift-y: 0px;
  --ta-cover-hero-mobile-content-optical-shift-x: 0px;
  --ta-cover-hero-mobile-content-optical-shift-y: 0px;
  --ta-cover-hero-right-width-min: 45cqi;
  --ta-cover-hero-right-width-max: 75cqi;
  --ta-cover-hero-right-width-fluid: clamp(var(--ta-cover-hero-right-width-min), calc(32.6923cqi + 135.3846px), var(--ta-cover-hero-right-width-max));
  --ta-cover-hero-right-top-offset-min: 92px;
  --ta-cover-hero-right-top-offset-max: 160px;
  --ta-cover-hero-right-top-offset-fluid: clamp(var(--ta-cover-hero-right-top-offset-min), calc(38px + 11.2vw), var(--ta-cover-hero-right-top-offset-max));
  --ta-cover-hero-top-offset-fluid: var(--ta-cover-hero-right-top-offset-fluid);
  --ta-cover-hero-right-body-stable-max-width: 33rem;
  --ta-hero-left-width-min: 60cqi;
  --ta-hero-left-width-max: 90cqi;
  --ta-hero-left-width-fluid: clamp(var(--ta-hero-left-width-min), calc(34.286cqi + 13.371rem), var(--ta-hero-left-width-max));
  --ta-cover-hero-left-title-stable-max-width: clamp(19.25ch, 18.315ch + 0.935vw, 21.175ch);
  --ta-cover-hero-left-body-stable-max-width: 33rem;
  --ta-hero-mobile-buttons-gap: 0.75rem;

}

body.ta-surface-page-default {
  --ta-surface-page: var(--ta-surface-page-default);
}

body.ta-surface-page-white {
  --ta-surface-page: var(--ta-surface-page-white);
}

@media (min-width: 768px) and (max-width: 1100px) {
  :root {
    --ta-service-outer-edge-space: var(--ta-service-outer-edge-space-tablet);
    --ta-service-inner-edge-space: var(--ta-service-inner-edge-space-tablet);
    --ta-page-section-padding-block: var(--ta-page-section-padding-block-tablet);
    --ta-page-section-content-gap: var(--ta-page-section-content-gap-tablet);
    --ta-page-section-intro-heading-body-gap: var(--ta-page-section-intro-heading-body-gap-tablet);
    --ta-page-section-intro-body-flow-gap: var(--ta-page-section-intro-body-flow-gap-tablet);
    --ta-component-flow-gap: var(--ta-component-flow-gap-tablet);
    --ta-component-terminal-section-exit-space: var(--ta-component-terminal-section-exit-space-tablet);
    --ta-component-internal-subsection-gap: var(--ta-component-internal-subsection-gap-tablet);
  }
}

@media (min-width: 1101px) {
  :root {
    --ta-service-starting-card-heading-min-block-size: var(--ta-service-starting-card-heading-min-block-size-desktop);
  }
}

@media (max-width: 767px) {
  :root {
    --ta-service-outer-edge-space: var(--ta-service-outer-edge-space-mobile);
    --ta-service-inner-edge-space: var(--ta-service-inner-edge-space-mobile);
    --ta-page-section-padding-block: var(--ta-page-section-padding-block-mobile);
    --ta-page-section-content-gap: var(--ta-page-section-content-gap-mobile);
    --ta-page-section-intro-heading-body-gap: var(--ta-page-section-intro-heading-body-gap-mobile);
    --ta-page-section-intro-body-flow-gap: var(--ta-page-section-intro-body-flow-gap-mobile);
    --ta-component-flow-gap: var(--ta-component-flow-gap-mobile);
    --ta-component-terminal-section-exit-space: var(--ta-component-terminal-section-exit-space-mobile);
    --ta-component-internal-subsection-gap: var(--ta-component-internal-subsection-gap-mobile);
    --ta-contact-grid-gap: var(--ta-contact-grid-gap-mobile);
    --ta-contact-form-gap: var(--ta-contact-form-gap-mobile);
    --ta-contact-header-margin-bottom: var(--ta-contact-header-margin-bottom-mobile);
    --ta-contact-intro-margin-bottom: var(--ta-contact-intro-margin-bottom-mobile);
    --ta-contact-field-gap: var(--ta-contact-field-gap-mobile);
    --ta-service-content-start-space: var(--ta-service-content-start-space-mobile);
  }
}



/* Service page system tokens
   Used by the reusable service-page patterns for Bookkeeping, Payroll, and Business Administration pages.
   These tokens intentionally control rhythm and visual weight only; hero/header behaviour remains owned by shell.css. */
:root {
  --ta-service-intro-max-width: 52rem;
  --ta-service-intro-body-max-width: 46rem;
  /* Service card rhythm maps to the canonical page card rhythm unless a component-specific reason exists to diverge. */
  --ta-service-card-heading-body-gap-tablet: var(--ta-page-card-heading-body-gap);
  --ta-service-card-heading-body-gap-mobile: var(--ta-page-card-heading-body-gap);
  --ta-service-card-heading-body-gap: var(--ta-page-card-heading-body-gap);
  --ta-service-scope-card-heading-body-gap: var(--ta-service-card-heading-body-gap);
  --ta-service-outcome-heading-body-gap: var(--ta-service-card-heading-body-gap);
  --ta-service-scope-card-heading-min-block-size: 0;
  --ta-card-grid-gap: clamp(1.25rem, 2.4vw, 2.1rem);
  --ta-card-grid-columns-4-2-1: 4;
  --ta-card-grid-columns-4-2-1-tablet: 2;
  --ta-card-grid-columns-4-2-1-mobile: 1;
  --ta-card-grid-columns-3-2-1: 3;
  --ta-card-grid-columns-3-2-1-tablet: 2;
  --ta-card-grid-columns-3-2-1-mobile: 1;
  --ta-card-grid-columns-3-3-1: 3;
  --ta-card-grid-columns-3-3-1-tablet: 3;
  --ta-card-grid-columns-3-3-1-mobile: 1;
  /* Service scope cards use one authoritative shared card-grid gap token for both rows and columns. */
  --ta-service-scope-grid-gap: var(--ta-card-grid-gap);
  --ta-service-card-scope-bg: var(--ta-color-surface-soft-accent);
  --ta-service-split-gap: clamp(1rem, 2.2vw, 1.75rem);
  --ta-service-split-stacked-gap: clamp(1rem, 2vw, 1.4rem);
  --ta-service-outcomes-bg: var(--ta-color-surface-soft-accent);
  --ta-service-outcomes-border-color: rgba(44, 74, 59, 0.18);
  --ta-service-outcomes-radius: var(--ta-radius-sm);
  --ta-service-outcomes-shadow: 0 20px 50px rgba(0, 0, 0, 0.04);
  --ta-service-outcome-item-separator-width: 1px;
  --ta-service-outcome-item-separator-color: rgba(0, 0, 0, 0.15);
  --ta-service-outcome-item-separator-opacity: 1;
  --ta-service-outcome-item-accent-width: 24px;
  --ta-service-outcome-item-accent-height: 2px;
  --ta-service-outcome-item-accent-color: rgba(44, 74, 59, 0.4);
  --ta-service-outcome-item-text-size: 0.95em;
  --ta-service-outcome-item-text-line-height: 1.55;
  --ta-service-starting-grid-gap: var(--ta-card-grid-gap);
  --ta-service-starting-card-bg: var(--ta-color-surface-soft-accent);
  --ta-service-starting-card-texture-overlay: rgba(240, 246, 240, 0.58);
  --ta-service-starting-card-texture-size: 360% auto;
  --ta-service-starting-card-texture-repeat: no-repeat;
  --ta-service-starting-card-texture-position-1: 8% 52%;
  --ta-service-starting-card-texture-position-2: 38% 52%;
  --ta-service-starting-card-texture-position-3: 64% 54%;
  --ta-service-starting-card-texture-position-4: 92% 54%;
  --ta-service-starting-card-border-color: var(--ta-color-border);
  --ta-service-starting-card-radius: var(--ta-radius-sm);
  --ta-service-starting-card-shadow: none;
  --ta-service-starting-card-padding-block: clamp(1.1rem, 2vw, 1.45rem);
  --ta-service-starting-card-padding-inline: clamp(1rem, 2vw, 1.25rem);
  --ta-service-starting-card-gap: 0;
  --ta-service-starting-card-heading-min-block-size: 0;
  --ta-service-starting-card-heading-min-block-size-tablet: 0;
  --ta-service-starting-card-heading-min-block-size-desktop: 0;
  --ta-service-starting-card-heading-body-gap: var(--ta-service-card-heading-body-gap);
  --ta-service-starting-card-heading-body-gap-tablet: var(--ta-service-card-heading-body-gap-tablet);
  --ta-icon-size: 1.5rem;
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-opacity: 1;
  --ta-icon-role-subtle-size: clamp(1.62rem, 2vw, 1.92rem);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-subtle-opacity: 0.68;
  --ta-icon-role-cta-size: clamp(1.75rem, 3vw, 2.2rem);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-icon-role-cta-opacity: 1;

  --ta-next-links-gap: clamp(1.3rem, 2.2vw, 1.8rem);
  --ta-next-links-margin-top: clamp(1.6rem, 3vw, 2.4rem);
  --ta-next-link-column-gap: clamp(1.15rem, 2.6vw, 1.75rem);
  --ta-next-link-content-column-max: clamp(24rem, 34vw, 34rem);
  --ta-next-link-row-gap: 0.32rem;
  --ta-next-link-padding-block: clamp(0.25rem, 0.55vw, 0.45rem);
  --ta-next-link-padding-inline-end: clamp(3rem, 5vw, 4.25rem);
  --ta-next-link-column-gap-mobile: 0.95rem;
  --ta-next-link-padding-block-mobile: 0.65rem;
  --ta-next-link-padding-inline-end-mobile: var(--ta-space-5);
  --ta-next-link-icon-shell-size: clamp(3.05rem, 5.4vw, 3.75rem);
  --ta-next-link-icon-margin-top: 0.08rem;
  --ta-next-link-icon-bg: rgba(47, 107, 79, 0.08);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-icon-opacity: 1;
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-next-link-label-font-size: var(--ta-font-size-xs);
  --ta-next-link-label-font-weight: var(--ta-font-weight-medium);
  --ta-next-link-label-letter-spacing: 0.075em;
  --ta-next-link-label-line-height: var(--ta-line-height-normal);
  --ta-service-starting-icon-size: clamp(1.45rem, 1.9vw, 1.75rem);
  --ta-service-starting-icon-margin-bottom: var(--ta-space-2);
  --ta-service-starting-icon-color: var(--ta-color-primary);
  --ta-service-starting-icon-opacity: 0.72;
  --ta-service-section-padding-block-tablet: var(--ta-page-section-padding-block-tablet);
  --ta-service-section-padding-block-mobile: var(--ta-page-section-padding-block-mobile);
  --ta-service-section-padding-block: var(--ta-page-section-padding-block);
  --ta-service-section-exit-space-desktop: var(--ta-page-section-content-gap-desktop);
  --ta-service-section-exit-space-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-service-section-exit-space-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-service-section-exit-space: var(--ta-service-section-exit-space-desktop);

  /* Service section rhythm tokens
     Canonical service-page vertical rhythm surface.
     Keep this layer value-preserving: tune the breakpoint tokens here,
     not scattered component selectors. */

  /* Canonical content gap tokens. Tune the breakpoint values here, not scattered component selectors. */
  --ta-service-content-gap-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-service-content-gap-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-service-content-gap: var(--ta-page-section-content-gap);

  /* Service intro rhythm consumes the canonical page-section intro contract. */
  --ta-service-intro-heading-body-gap-desktop: var(--ta-page-section-intro-heading-body-gap-desktop);
  --ta-service-intro-heading-body-gap-tablet: var(--ta-page-section-intro-heading-body-gap-tablet);
  --ta-service-intro-heading-body-gap-mobile: var(--ta-page-section-intro-heading-body-gap-mobile);
  --ta-service-intro-body-flow-gap-desktop: var(--ta-page-section-intro-body-flow-gap-desktop);
  --ta-service-intro-body-flow-gap-tablet: var(--ta-page-section-intro-body-flow-gap-tablet);
  --ta-service-intro-body-flow-gap-mobile: var(--ta-page-section-intro-body-flow-gap-mobile);
  --ta-service-intro-heading-body-gap: var(--ta-service-intro-heading-body-gap-desktop);
  --ta-service-intro-body-flow-gap: var(--ta-service-intro-body-flow-gap-desktop);

  --ta-service-card-grid-gap-mobile: var(--ta-service-scope-grid-gap);
  /* Mobile media-after-heading split rhythm: use canonical intro spacing so
     reordered media does not receive a larger special-case top/bottom gap. */
  --ta-service-split-after-heading-media-gap-mobile: var(--ta-service-intro-heading-body-gap-mobile);
  --ta-service-split-after-heading-body-gap-mobile: var(--ta-service-intro-heading-body-gap-mobile);
  /* Desktop/tablet offset for media-after-heading split: align media with the heading, not the kicker. */
  --ta-service-quiet-margin-top-desktop: clamp(0.6rem, 1vw, 1rem);
  --ta-service-quiet-margin-top-tablet: 0;
  --ta-service-quiet-margin-top-mobile: 0;
  --ta-service-quiet-padding-block-desktop: clamp(1.45rem, 2.2vw, 2.05rem);
  --ta-service-quiet-padding-block-tablet: var(--ta-service-section-padding-block-tablet);
  --ta-service-quiet-padding-block-mobile: var(--ta-service-section-padding-block-mobile);
  --ta-service-quiet-margin-top: var(--ta-service-quiet-margin-top-desktop);
  --ta-service-quiet-padding-block: var(--ta-service-quiet-padding-block-desktop);

}


@media (min-width: 768px) and (max-width: 1100px) {
  :root {
    --ta-service-section-padding-block: var(--ta-service-section-padding-block-tablet);
    --ta-service-section-exit-space: var(--ta-service-section-exit-space-tablet);
    --ta-service-content-gap: var(--ta-service-content-gap-tablet);
    --ta-service-intro-heading-body-gap: var(--ta-service-intro-heading-body-gap-tablet);
    --ta-service-intro-body-flow-gap: var(--ta-service-intro-body-flow-gap-tablet);
    --ta-service-card-heading-body-gap: var(--ta-service-card-heading-body-gap-tablet);
    --ta-service-quiet-margin-top: var(--ta-service-quiet-margin-top-tablet);
    --ta-service-quiet-padding-block: var(--ta-service-quiet-padding-block-tablet);
    --ta-service-starting-card-heading-min-block-size: var(--ta-service-starting-card-heading-min-block-size-tablet);
    --ta-service-starting-card-heading-body-gap: var(--ta-service-starting-card-heading-body-gap-tablet);
  }
}

@media (max-width: 767px) {
  :root {
    --ta-service-section-padding-block: var(--ta-service-section-padding-block-mobile);
    --ta-service-section-exit-space: var(--ta-service-section-exit-space-mobile);
    --ta-service-content-gap: var(--ta-service-content-gap-mobile);
    --ta-service-intro-heading-body-gap: var(--ta-service-intro-heading-body-gap-mobile);
    --ta-service-intro-body-flow-gap: var(--ta-service-intro-body-flow-gap-mobile);
    --ta-service-card-heading-body-gap: var(--ta-service-card-heading-body-gap-mobile);
    --ta-service-quiet-margin-top: var(--ta-service-quiet-margin-top-mobile);
    --ta-service-quiet-padding-block: var(--ta-service-quiet-padding-block-mobile);
  }
}



/* Vertical rhythm literal cleanup
   Component CSS should consume named tokens for spacing instead of local raw values.
   Border widths, breakpoints, offsets, and accessibility hiding values are intentionally outside this rhythm layer. */
:root {
  --ta-content-blockquote-cite-margin-top: 0.85rem;
  --ta-entry-constrained-background-padding-block: clamp(1.25rem, 5vw, 2rem);
  --ta-skip-link-padding-block: var(--ta-space-3);
  --ta-skip-link-padding-inline: var(--ta-space-4);
  --ta-contact-notice-list-margin-top: 0.6rem;
  --ta-contact-notice-list-padding-left: 1.2rem;
  --ta-contact-consent-gap: var(--ta-space-3);
  --ta-contact-consent-input-margin-top: 0.2rem;
  --ta-contact-field-error-margin-top: 0.25rem;

  --ta-site-main-padding-bottom: clamp(1.75rem, 3.5vw, 3rem);
  --ta-layout-section-heading-margin-block-end: 0.55rem;
  --ta-layout-section-list-margin-block-start: 0.55rem;
  --ta-layout-section-list-margin-block-end: 0.8rem;
  --ta-layout-section-paragraph-margin-block-start: 0.65rem;
  --ta-layout-section-buttons-margin-top: 0.95rem;
  --ta-section-action-margin-top: clamp(1.25rem, 2.1vw, 1.75rem);
  --ta-landing-outcomes-grid-max-width: 48rem;
  --ta-landing-outcomes-intro-grid-gap: clamp(0.7rem, 1.05vw, 0.95rem);
  --ta-landing-outcomes-action-margin-top: clamp(0.35rem, 0.65vw, 0.55rem);
  --ta-landing-support-action-margin-top: var(--ta-landing-outcomes-action-margin-top);
  --ta-landing-support-terminal-grid-exit-space: 0rem;
  --ta-landing-terminal-section-padding-block-end: clamp(0.2rem, 0.45vw, 0.45rem);

}


/* How It Works page tokens
   Dedicated page-type component layer mapped onto the canonical page rhythm
   system. How-specific component tokens remain separate, but section cadence,
   intro rhythm, and readable measures inherit the shared page contract. */
:root {
  --ta-how-content-max-width: var(--ta-page-section-content-max-width);


  --ta-how-inner-edge-space-tablet: var(--ta-page-section-inner-edge-space);
  --ta-how-inner-edge-space-mobile: var(--ta-page-section-inner-edge-space);
  --ta-how-inner-edge-space: var(--ta-page-section-inner-edge-space);

  /* How section rhythm is intentionally a direct alias to the shared page-section padding contract.
     Do not add separate hero handoff or adjacent margin tokens here. */
  --ta-how-section-padding-block-tablet: var(--ta-page-section-padding-block-tablet);
  --ta-how-section-padding-block-mobile: var(--ta-page-section-padding-block-mobile);
  --ta-how-section-padding-block: var(--ta-page-section-padding-block);
  /* How section rhythm uses the shared page-section entry padding contract.
     Component terminal edges must finish cleanly; sections own page rhythm. */
  --ta-how-section-exit-space-desktop: var(--ta-page-section-content-gap-desktop);
  --ta-how-section-exit-space-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-how-section-exit-space-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-how-section-exit-space: var(--ta-how-section-exit-space-desktop);
  --ta-how-section-muted-bg: transparent;
  --ta-how-section-quiet-margin-top-desktop: clamp(0.6rem, 1vw, 1rem);
  --ta-how-section-quiet-margin-top-tablet: 0;
  --ta-how-section-quiet-margin-top-mobile: 0;
  --ta-how-section-quiet-margin-top: var(--ta-how-section-quiet-margin-top-desktop);
  --ta-how-section-quiet-padding-block-desktop: clamp(1.45rem, 2.2vw, 2.05rem);
  --ta-how-section-quiet-padding-block-tablet: var(--ta-how-section-padding-block-tablet);
  --ta-how-section-quiet-padding-block-mobile: var(--ta-how-section-padding-block-mobile);
  --ta-how-section-quiet-padding-block: var(--ta-how-section-quiet-padding-block-desktop);
  --ta-how-section-quiet-border-color: rgba(0, 0, 0, 0.06);

  --ta-how-section-content-gap-tablet: var(--ta-page-section-content-gap-tablet);
  --ta-how-section-content-gap-mobile: var(--ta-page-section-content-gap-mobile);
  --ta-how-section-content-gap: var(--ta-page-section-content-gap);

  --ta-how-intro-max-width: var(--ta-page-section-intro-max-width);
  --ta-how-intro-body-max-width: var(--ta-page-section-intro-body-max-width);
  --ta-how-intro-heading-body-gap-desktop: var(--ta-page-section-intro-heading-body-gap-desktop);
  --ta-how-intro-heading-body-gap-tablet: var(--ta-page-section-intro-heading-body-gap-tablet);
  --ta-how-intro-heading-body-gap-mobile: var(--ta-page-section-intro-heading-body-gap-mobile);
  --ta-how-intro-heading-body-gap: var(--ta-how-intro-heading-body-gap-desktop);
  --ta-how-intro-body-flow-gap-desktop: var(--ta-page-section-intro-body-flow-gap-desktop);
  --ta-how-intro-body-flow-gap-tablet: var(--ta-page-section-intro-body-flow-gap-tablet);
  --ta-how-intro-body-flow-gap-mobile: var(--ta-page-section-intro-body-flow-gap-mobile);
  --ta-how-intro-body-flow-gap: var(--ta-how-intro-body-flow-gap-desktop);

  --ta-how-verification-flow-gap: var(--ta-component-internal-subsection-gap);
  --ta-how-verification-section-gap: var(--ta-how-intro-body-flow-gap);
  --ta-how-verification-body-max-width: var(--ta-how-intro-body-max-width);
  --ta-how-verification-list-max-width: var(--ta-how-intro-body-max-width);
  --ta-how-verification-list-gap: var(--ta-component-list-item-gap);
  --ta-how-verification-list-padding-inline-start: 1.15rem;

  --ta-how-check-block-max-width: var(--ta-how-intro-max-width);
  --ta-how-check-block-padding-block: 0;
  --ta-how-check-block-padding-inline: 0;
  --ta-how-check-block-bg: transparent;
  --ta-how-check-block-radius: 0;
  --ta-how-check-block-accent-width: 0;
  --ta-how-check-block-accent-color: transparent;
  --ta-how-check-block-heading-body-gap: var(--ta-how-intro-heading-body-gap);
  --ta-how-check-block-heading-font-size: clamp(1.35rem, 1.2rem + 0.45vw, 1.75rem);
  --ta-how-check-block-heading-line-height: var(--ta-line-height-tight);
  --ta-how-check-list-margin-top: clamp(1rem, 1.5vw, 1.25rem);
  --ta-how-check-list-padding-block: clamp(0.8rem, 1.3vw, 1rem);
  --ta-how-check-list-padding-inline: 0;
  --ta-how-check-list-bg: transparent;
  --ta-how-check-list-border-color: var(--ta-color-border);
  --ta-how-check-list-label-font-size: var(--ta-font-size-sm);
  --ta-how-check-list-label-font-weight: var(--ta-font-weight-semibold);
  --ta-how-check-list-label-letter-spacing: 0;
  --ta-how-check-list-label-color: var(--ta-color-text-muted);
  --ta-how-check-list-label-text-transform: none;

  --ta-how-note-max-width: 62ch;
  --ta-how-note-margin-top: var(--ta-space-4);
  --ta-how-note-padding-inline-start: var(--ta-space-4);
  --ta-how-note-border-color: var(--ta-color-border);
  --ta-how-note-font-size: 0.94em;
  --ta-how-note-line-height: 1.7;
  --ta-how-note-color: var(--ta-color-text-muted);

  --ta-how-definition-list-max-width: var(--ta-how-intro-max-width);
  --ta-how-definition-list-border-color: var(--ta-color-border);
  --ta-how-definition-list-row-padding-block: clamp(0.6rem, 1vw, 0.82rem);
  --ta-how-definition-list-row-gap: clamp(0.65rem, 1.2vw, 1rem);
  --ta-how-definition-list-term-width: clamp(8.5rem, 18vw, 11.5rem);
  --ta-how-definition-list-term-font-size: var(--ta-font-size-sm);
  --ta-how-definition-list-term-font-weight: var(--ta-font-weight-semibold);
  --ta-how-definition-list-term-color: var(--ta-color-heading);


  --ta-how-table-min-width: 52rem;
  --ta-how-table-cell-padding-block: clamp(0.95rem, 1.6vw, 1.35rem);
  --ta-how-table-final-row-padding-block-end: clamp(0.55rem, 1vw, 0.8rem);
  --ta-how-table-cell-padding-inline: clamp(1.15rem, 2vw, 1.65rem);
  --ta-how-table-border-color: var(--ta-color-border);
  --ta-how-table-header-bg: color-mix(in srgb, var(--ta-color-surface-soft-accent) 68%, white);
  --ta-how-table-row-alt-bg: color-mix(in srgb, var(--ta-color-surface-soft-accent) 48%, white);
  --ta-how-table-first-column-width: 24%;
  --ta-how-table-frequency-column-width: 20%;
  --ta-how-table-communication-column-width: 28%;
  --ta-how-table-focus-column-width: 28%;

  --ta-how-grid-gap: var(--ta-card-grid-gap);
  --ta-how-process-grid-gap: var(--ta-how-grid-gap);
  --ta-how-process-card-padding-block: 1.1rem;
  --ta-how-process-card-padding-inline: 1rem;
  --ta-how-process-card-border-color: var(--ta-color-border);
  --ta-how-process-card-radius: var(--ta-radius-sm);
  --ta-how-process-card-title-font-size: 1.02rem;
  --ta-how-process-card-title-line-height: 1.25;
  --ta-how-process-card-bg: var(--ta-color-surface-soft-accent);
  --ta-how-process-card-heading-min-block-size: 0;
  --ta-how-process-card-heading-body-gap-desktop: var(--ta-space-2);
  --ta-how-process-card-heading-body-gap-tablet: var(--ta-space-2);
  --ta-how-process-card-heading-body-gap-mobile: var(--ta-space-2);
  --ta-how-process-card-heading-body-gap: var(--ta-how-process-card-heading-body-gap-desktop);

  --ta-how-principles-grid-gap: var(--ta-how-grid-gap);
  --ta-how-principle-card-gap: 0;
  --ta-how-principle-card-padding-block: clamp(1.1rem, 2vw, 1.45rem);
  --ta-how-principle-card-padding-inline: clamp(1rem, 2vw, 1.25rem);
  --ta-how-principle-card-bg: var(--ta-color-surface-soft-accent);
  --ta-how-principle-card-border-color: var(--ta-color-border);
  --ta-how-principle-card-radius: var(--ta-radius-sm);
  --ta-how-principle-card-shadow: none;
  --ta-how-principle-card-heading-min-block-size-desktop: 0;
  --ta-how-principle-card-heading-min-block-size-tablet: 0;
  --ta-how-principle-card-heading-min-block-size: var(--ta-how-principle-card-heading-min-block-size-desktop);
  --ta-how-principle-card-heading-body-gap-desktop: var(--ta-space-2);
  --ta-how-principle-card-heading-body-gap-tablet: var(--ta-space-2);
  --ta-how-principle-card-heading-body-gap-mobile: var(--ta-space-2);
  --ta-how-principle-card-heading-body-gap: var(--ta-how-principle-card-heading-body-gap-desktop);
  --ta-how-principle-icon-size: clamp(1.45rem, 1.9vw, 1.75rem);
  --ta-how-principle-icon-color: var(--ta-color-primary);
  --ta-how-principle-icon-opacity: 0.72;
  --ta-how-principle-icon-margin-bottom: var(--ta-space-2);
  --ta-how-principle-card-texture-overlay: rgba(240, 246, 240, 0.58);
  --ta-how-principle-card-texture-size: 360% auto;
  --ta-how-principle-card-texture-repeat: no-repeat;
  --ta-how-principle-card-texture-position-1: 8% 52%;
  --ta-how-principle-card-texture-position-2: 38% 52%;
  --ta-how-principle-card-texture-position-3: 64% 54%;
  --ta-how-principle-card-texture-position-4: 92% 54%;

  --ta-how-expect-padding-block-desktop: clamp(1.15rem, 1.9vw, 1.55rem);
  --ta-how-expect-padding-block-tablet: clamp(1.2rem, 2.2vw, 1.65rem);
  --ta-how-expect-padding-block-mobile: clamp(1.15rem, 4vw, 1.45rem);
  --ta-how-expect-padding-block: var(--ta-how-expect-padding-block-desktop);
  --ta-how-expect-grid-min: 12rem;
  --ta-how-expect-grid-template-columns-desktop: repeat(auto-fit, minmax(var(--ta-how-expect-grid-min), 1fr));
  --ta-how-expect-grid-template-columns-tablet: repeat(auto-fit, minmax(var(--ta-how-expect-grid-min), 1fr));
  --ta-how-expect-grid-template-columns-mobile: 1fr;
  --ta-how-expect-grid-template-columns: var(--ta-how-expect-grid-template-columns-desktop);
  --ta-how-expect-grid-gap: 0;
  --ta-how-expect-item-padding-block-mobile: 1rem;
  --ta-how-expect-grid-row-gap-mobile: 0.2rem;

}

@media (min-width: 768px) and (max-width: 1100px) {
  :root {
    --ta-how-inner-edge-space: var(--ta-how-inner-edge-space-tablet);
    --ta-how-section-padding-block: var(--ta-how-section-padding-block-tablet);
    --ta-how-section-exit-space: var(--ta-how-section-exit-space-tablet);
    --ta-how-section-content-gap: var(--ta-how-section-content-gap-tablet);
    --ta-how-intro-heading-body-gap: var(--ta-how-intro-heading-body-gap-tablet);
    --ta-how-intro-body-flow-gap: var(--ta-how-intro-body-flow-gap-tablet);
    --ta-how-process-card-heading-body-gap: var(--ta-how-process-card-heading-body-gap-tablet);
    --ta-how-principle-card-heading-min-block-size: var(--ta-how-principle-card-heading-min-block-size-tablet);
    --ta-how-principle-card-heading-body-gap: var(--ta-how-principle-card-heading-body-gap-tablet);
    --ta-how-expect-padding-block: var(--ta-how-expect-padding-block-tablet);
    --ta-how-expect-grid-template-columns: var(--ta-how-expect-grid-template-columns-tablet);
    --ta-how-section-quiet-margin-top: var(--ta-how-section-quiet-margin-top-tablet);
    --ta-how-section-quiet-padding-block: var(--ta-how-section-quiet-padding-block-tablet);
  }
}

@media (max-width: 767px) {
  :root {
    --ta-how-inner-edge-space: var(--ta-how-inner-edge-space-mobile);
    --ta-how-section-padding-block: var(--ta-how-section-padding-block-mobile);
    --ta-how-section-exit-space: var(--ta-how-section-exit-space-mobile);
    --ta-how-section-content-gap: var(--ta-how-section-content-gap-mobile);
    --ta-how-intro-heading-body-gap: var(--ta-how-intro-heading-body-gap-mobile);
    --ta-how-intro-body-flow-gap: var(--ta-how-intro-body-flow-gap-mobile);
    --ta-how-process-card-heading-body-gap: var(--ta-how-process-card-heading-body-gap-mobile);
    --ta-how-principle-card-heading-body-gap: var(--ta-how-principle-card-heading-body-gap-mobile);
    --ta-how-expect-padding-block: var(--ta-how-expect-padding-block-mobile);
    --ta-how-expect-grid-template-columns: var(--ta-how-expect-grid-template-columns-mobile);
    --ta-how-section-quiet-margin-top: var(--ta-how-section-quiet-margin-top-mobile);
    --ta-how-section-quiet-padding-block: var(--ta-how-section-quiet-padding-block-mobile);
    --ta-how-section-quiet-border-color: transparent;
  }
}




/* Service outcomes and related tokens */
:root {
  --ta-service-outcomes-panel-padding-block: clamp(0.7rem, 0.95vw, 0.9rem);
  --ta-service-outcomes-panel-padding-inline: clamp(1rem, 1.6vw, 1.25rem);
  --ta-service-outcomes-panel-padding-block-mobile: clamp(0.95rem, 3.6vw, 1.15rem);
  --ta-service-outcomes-panel-padding-block-start-mobile: var(--ta-service-outcomes-panel-padding-block-mobile);
  --ta-service-outcomes-panel-padding-block-end-mobile: clamp(0.85rem, 3vw, 1rem);
  --ta-service-outcomes-panel-row-gap-mobile: clamp(0.95rem, 3.8vw, 1.25rem);
  --ta-service-outcome-panel-item-padding-block: clamp(0.25rem, 0.45vw, 0.4rem);
  --ta-service-outcome-panel-item-padding-inline: clamp(0.85rem, 1.45vw, 1.1rem);
  --ta-service-outcome-panel-item-padding-block-start-mobile: clamp(0.85rem, 3.2vw, 1rem);
  --ta-service-outcome-panel-item-padding-block-end-mobile: clamp(0.35rem, 1.6vw, 0.55rem);
  --ta-service-outcome-panel-final-item-padding-block-end-mobile: 0;
  --ta-service-outcome-panel-divider-start: 0.3rem;
  --ta-service-outcome-panel-divider-height: clamp(4rem, 5.2vw, 5rem);

}


/* Service terminal density rhythm tokens
   Optical section handoff model:
   - split/media sections are followed by normal section entry padding, so the
     split exit token stays deliberately modest;
   - compact panel sections hand to the related kicker with a controlled but
     not exaggerated handoff.
   Hero-to-first-kicker spacing is not part of this model. */
:root {
  --ta-service-section-exit-space-after-split: clamp(0rem, 0.35vw, 0.35rem);
  --ta-service-section-exit-space-after-panel: clamp(2.1rem, 3.35vw, 3.25rem);
}

@media (min-width: 768px) and (max-width: 1100px) {
  :root {
    --ta-service-section-exit-space-after-split: clamp(0rem, 0.45vw, 0.35rem);
    --ta-service-section-exit-space-after-panel: clamp(1.9rem, 3.65vw, 3.0rem);
  }
}

@media (max-width: 767px) {
  :root {
    --ta-service-section-exit-space-after-split: var(--ta-service-section-exit-space-mobile);
    --ta-service-section-exit-space-after-panel: clamp(1.15rem, 5vw, 1.55rem);
  }
}

/* =========================================
   SITE COLOUR TOKEN SCAFFOLD — v7.655

   Purpose:
   - Provide host/site identity colour scopes for the shared Tar-Aiym theme.
   - Provide light/dark mode scopes for future palette work.
   - Preserve the current accounting/default appearance in this first pass.

   These scopes are intentionally visual-token only. Do not use them to change
   navigation structure, layout, behaviour, typography scale, or authentication.

   Palette source notes:
   - Accounting/current default remains the green visual control.
   - Palette previews:
   - Accounting/current default remains the green visual control.
   - Technology uses a deep blue identity seed (#173f63).
   - AI uses a muted indigo-purple identity seed (#30224f).
   - WWW uses a neutral charcoal identity with restrained warm-brass accents (#2d302d / #77643f).

   Page-band background tokens are now explicitly scoped per site so non-hero
   pages do not retain the accounting/green tint when another site identity is active.
========================================= */

/* Site colour tokens: www / light */
body.ta-site-www.ta-theme-light {
  --ta-surface-page-default: #f7f5ef;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f8f6f1;
  --ta-color-surface-alt: #f0eee6;
  --ta-color-surface-soft-accent: #ece7da;
  --ta-color-surface-elevated: rgba(248, 246, 241, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #666153;
  --ta-color-border: #ddd6c5;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #77643f;
  --ta-color-primary-strong: #5e4f32;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(119, 100, 63, 0.24);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d4c7ad;
  --ta-page-band-bg-end: #ebe4d5;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(119, 100, 63, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(255, 253, 247, 0.98);
  --ta-dark-surface-ink: rgba(250, 246, 235, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(232, 218, 180, 0.08);
  --ta-dark-surface-accent: rgba(232, 218, 180, 0.11);
  --ta-dark-surface-accent-strong: rgba(232, 218, 180, 0.92);
  --ta-dark-surface-accent-stronger: rgba(246, 235, 204, 0.98);
  --ta-dark-surface-focus-outline: rgba(232, 218, 180, 0.72);
  --ta-dark-surface-border-soft: rgba(232, 218, 180, 0.08);
  --ta-dark-surface-border: rgba(232, 218, 180, 0.11);
  --ta-nav-desktop-context-bar-bg: #2d302d;
  --ta-nav-desktop-shell-bg: #2d302d;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(232, 218, 180, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(232, 218, 180, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(250, 246, 235, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(232, 218, 180, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(232, 218, 180, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(232, 218, 180, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(250, 246, 235, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(246, 235, 204, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(255, 253, 247, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(232, 218, 180, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(232, 218, 180, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(232, 218, 180, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(246, 235, 204, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(255, 253, 247, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(232, 218, 180, 0.92);
  --ta-utility-panel-bg: rgba(42, 43, 39, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #1c1d1a;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #2b2d28;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(255, 253, 247, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(119, 100, 63, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}

/* Site colour tokens: www / dark */
body.ta-site-www.ta-theme-dark {
  --ta-surface-page-default: #f7f5ef;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f8f6f1;
  --ta-color-surface-alt: #f0eee6;
  --ta-color-surface-soft-accent: #ece7da;
  --ta-color-surface-elevated: rgba(248, 246, 241, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #666153;
  --ta-color-border: #ddd6c5;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #77643f;
  --ta-color-primary-strong: #5e4f32;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(119, 100, 63, 0.24);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d4c7ad;
  --ta-page-band-bg-end: #ebe4d5;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(119, 100, 63, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(255, 253, 247, 0.98);
  --ta-dark-surface-ink: rgba(250, 246, 235, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(232, 218, 180, 0.08);
  --ta-dark-surface-accent: rgba(232, 218, 180, 0.11);
  --ta-dark-surface-accent-strong: rgba(232, 218, 180, 0.92);
  --ta-dark-surface-accent-stronger: rgba(246, 235, 204, 0.98);
  --ta-dark-surface-focus-outline: rgba(232, 218, 180, 0.72);
  --ta-dark-surface-border-soft: rgba(232, 218, 180, 0.08);
  --ta-dark-surface-border: rgba(232, 218, 180, 0.11);
  --ta-nav-desktop-context-bar-bg: #2d302d;
  --ta-nav-desktop-shell-bg: #2d302d;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(232, 218, 180, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(232, 218, 180, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(250, 246, 235, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(232, 218, 180, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(232, 218, 180, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(232, 218, 180, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(250, 246, 235, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(246, 235, 204, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(255, 253, 247, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(232, 218, 180, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(232, 218, 180, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(232, 218, 180, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(246, 235, 204, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(255, 253, 247, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(232, 218, 180, 0.92);
  --ta-utility-panel-bg: rgba(42, 43, 39, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #1c1d1a;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #2b2d28;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(255, 253, 247, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(119, 100, 63, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}

/* Site colour tokens: accounting / light */
body.ta-site-accounting.ta-theme-light {
  --ta-surface-page-default: #f5f9f6;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f5f6f3;
  --ta-color-surface-alt: #f4f5f1;
  --ta-color-surface-soft-accent: #edf3ee;
  --ta-color-surface-elevated: rgba(245, 247, 241, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #5a655f;
  --ta-color-border: #d6ddd7;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #2f6b4f;
  --ta-color-primary-strong: #24553f;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(47, 107, 79, 0.22);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d1e3d6;
  --ta-page-band-bg-end: #e6f0eb;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(47, 107, 79, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(252, 255, 253, 0.98);
  --ta-dark-surface-ink: rgba(248, 253, 250, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-accent: rgba(205, 238, 219, 0.10);
  --ta-dark-surface-accent-strong: rgba(205, 238, 219, 0.92);
  --ta-dark-surface-accent-stronger: rgba(205, 238, 219, 0.98);
  --ta-dark-surface-focus-outline: rgba(205, 238, 219, 0.72);
  --ta-dark-surface-border-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-border: rgba(205, 238, 219, 0.10);
  --ta-nav-desktop-context-bar-bg: #184835;
  --ta-nav-desktop-shell-bg: #184835;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(205, 238, 219, 0.12);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(205, 238, 219, 0.22);
  --ta-nav-desktop-primary-link-color: rgba(240, 249, 244, 0.82);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(205, 238, 219, 0.24);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(224, 248, 234, 0.10);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(205, 238, 219, 0.24);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(240, 249, 244, 0.84);
  --ta-nav-mobile-primary-link-hover-color: rgba(224, 248, 234, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(244, 252, 247, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(224, 248, 234, 0.12);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(205, 238, 219, 0.86);
  --ta-nav-mobile-context-group-bg: rgba(205, 238, 219, 0.05);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(229, 249, 237, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(239, 249, 243, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(205, 238, 219, 0.92);
  --ta-utility-panel-bg: rgba(39, 45, 41, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #17191c;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #1c1f1d;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(248, 253, 250, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(47, 107, 79, 0.08);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}

/* Site colour tokens: accounting / dark */
body.ta-site-accounting.ta-theme-dark {
  --ta-surface-page-default: #f5f9f6;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f5f6f3;
  --ta-color-surface-alt: #f4f5f1;
  --ta-color-surface-soft-accent: #edf3ee;
  --ta-color-surface-elevated: rgba(245, 247, 241, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #5a655f;
  --ta-color-border: #d6ddd7;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #2f6b4f;
  --ta-color-primary-strong: #24553f;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(47, 107, 79, 0.22);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d1e3d6;
  --ta-page-band-bg-end: #e6f0eb;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(47, 107, 79, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(252, 255, 253, 0.98);
  --ta-dark-surface-ink: rgba(248, 253, 250, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-accent: rgba(205, 238, 219, 0.10);
  --ta-dark-surface-accent-strong: rgba(205, 238, 219, 0.92);
  --ta-dark-surface-accent-stronger: rgba(205, 238, 219, 0.98);
  --ta-dark-surface-focus-outline: rgba(205, 238, 219, 0.72);
  --ta-dark-surface-border-soft: rgba(205, 238, 219, 0.08);
  --ta-dark-surface-border: rgba(205, 238, 219, 0.10);
  --ta-nav-desktop-context-bar-bg: #184835;
  --ta-nav-desktop-shell-bg: #184835;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(205, 238, 219, 0.12);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(205, 238, 219, 0.22);
  --ta-nav-desktop-primary-link-color: rgba(240, 249, 244, 0.82);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(205, 238, 219, 0.24);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(224, 248, 234, 0.10);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(205, 238, 219, 0.24);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(240, 249, 244, 0.84);
  --ta-nav-mobile-primary-link-hover-color: rgba(224, 248, 234, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(244, 252, 247, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(224, 248, 234, 0.12);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(205, 238, 219, 0.86);
  --ta-nav-mobile-context-group-bg: rgba(205, 238, 219, 0.05);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(229, 249, 237, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(239, 249, 243, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(205, 238, 219, 0.92);
  --ta-utility-panel-bg: rgba(39, 45, 41, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #17191c;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #1c1f1d;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(248, 253, 250, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(47, 107, 79, 0.08);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}

/* Site colour tokens: technology / light */
body.ta-site-technology.ta-theme-light {
  --ta-surface-page-default: #f3f8fc;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f7f9fb;
  --ta-color-surface-alt: #eef4f9;
  --ta-color-surface-soft-accent: #e6f0f8;
  --ta-color-surface-elevated: rgba(246, 249, 252, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #536676;
  --ta-color-border: #cedce8;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #2d6f9f;
  --ta-color-primary-strong: #1f547c;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(45, 111, 159, 0.23);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #cbddeb;
  --ta-page-band-bg-end: #e6f0f8;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(45, 111, 159, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(248, 252, 255, 0.98);
  --ta-dark-surface-ink: rgba(239, 247, 253, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(194, 226, 249, 0.08);
  --ta-dark-surface-accent: rgba(194, 226, 249, 0.11);
  --ta-dark-surface-accent-strong: rgba(194, 226, 249, 0.92);
  --ta-dark-surface-accent-stronger: rgba(214, 237, 255, 0.98);
  --ta-dark-surface-focus-outline: rgba(194, 226, 249, 0.72);
  --ta-dark-surface-border-soft: rgba(194, 226, 249, 0.08);
  --ta-dark-surface-border: rgba(194, 226, 249, 0.11);
  --ta-nav-desktop-context-bar-bg: #173f63;
  --ta-nav-desktop-shell-bg: #173f63;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(194, 226, 249, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(194, 226, 249, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(232, 245, 255, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(194, 226, 249, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(194, 226, 249, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(194, 226, 249, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(232, 245, 255, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(219, 239, 255, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(242, 249, 255, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(194, 226, 249, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(194, 226, 249, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(194, 226, 249, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(219, 239, 255, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(239, 247, 253, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(194, 226, 249, 0.92);
  --ta-utility-panel-bg: rgba(28, 38, 49, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #151b22;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #192838;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(239, 247, 253, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(45, 111, 159, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}
/* Site colour tokens: technology / dark */
body.ta-site-technology.ta-theme-dark {
  --ta-surface-page-default: #f3f8fc;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f7f9fb;
  --ta-color-surface-alt: #eef4f9;
  --ta-color-surface-soft-accent: #e6f0f8;
  --ta-color-surface-elevated: rgba(246, 249, 252, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #536676;
  --ta-color-border: #cedce8;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #2d6f9f;
  --ta-color-primary-strong: #1f547c;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(45, 111, 159, 0.23);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #cbddeb;
  --ta-page-band-bg-end: #e6f0f8;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(45, 111, 159, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(248, 252, 255, 0.98);
  --ta-dark-surface-ink: rgba(239, 247, 253, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(194, 226, 249, 0.08);
  --ta-dark-surface-accent: rgba(194, 226, 249, 0.11);
  --ta-dark-surface-accent-strong: rgba(194, 226, 249, 0.92);
  --ta-dark-surface-accent-stronger: rgba(214, 237, 255, 0.98);
  --ta-dark-surface-focus-outline: rgba(194, 226, 249, 0.72);
  --ta-dark-surface-border-soft: rgba(194, 226, 249, 0.08);
  --ta-dark-surface-border: rgba(194, 226, 249, 0.11);
  --ta-nav-desktop-context-bar-bg: #173f63;
  --ta-nav-desktop-shell-bg: #173f63;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(194, 226, 249, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(194, 226, 249, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(232, 245, 255, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(194, 226, 249, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(194, 226, 249, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(194, 226, 249, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(232, 245, 255, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(219, 239, 255, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(242, 249, 255, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(194, 226, 249, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(194, 226, 249, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(194, 226, 249, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(219, 239, 255, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(239, 247, 253, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(194, 226, 249, 0.92);
  --ta-utility-panel-bg: rgba(28, 38, 49, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #151b22;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #192838;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(239, 247, 253, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(45, 111, 159, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}
/* Site colour tokens: ai / light */
body.ta-site-ai.ta-theme-light {
  --ta-surface-page-default: #f7f4fb;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f8f6fb;
  --ta-color-surface-alt: #f1eef8;
  --ta-color-surface-soft-accent: #eee8f7;
  --ta-color-surface-elevated: rgba(248, 246, 251, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #655a73;
  --ta-color-border: #ddd4ea;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #6b4fa3;
  --ta-color-primary-strong: #4e3a7a;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(107, 79, 163, 0.24);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d8cfee;
  --ta-page-band-bg-end: #eee8f7;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(107, 79, 163, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(252, 250, 255, 0.98);
  --ta-dark-surface-ink: rgba(246, 241, 255, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(218, 207, 245, 0.08);
  --ta-dark-surface-accent: rgba(218, 207, 245, 0.11);
  --ta-dark-surface-accent-strong: rgba(218, 207, 245, 0.92);
  --ta-dark-surface-accent-stronger: rgba(235, 228, 255, 0.98);
  --ta-dark-surface-focus-outline: rgba(218, 207, 245, 0.72);
  --ta-dark-surface-border-soft: rgba(218, 207, 245, 0.08);
  --ta-dark-surface-border: rgba(218, 207, 245, 0.11);
  --ta-nav-desktop-context-bar-bg: #30224f;
  --ta-nav-desktop-shell-bg: #30224f;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(218, 207, 245, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(218, 207, 245, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(246, 241, 255, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(218, 207, 245, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(218, 207, 245, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(218, 207, 245, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(246, 241, 255, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(235, 228, 255, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(250, 247, 255, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(218, 207, 245, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(218, 207, 245, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(218, 207, 245, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(235, 228, 255, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(249, 246, 255, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(218, 207, 245, 0.92);
  --ta-utility-panel-bg: rgba(42, 32, 57, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #1c1724;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #2d2440;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(249, 246, 255, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(107, 79, 163, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}

/* Site colour tokens: ai / dark */
body.ta-site-ai.ta-theme-dark {
  --ta-surface-page-default: #f7f4fb;
  --ta-surface-page-white: #ffffff;
  --ta-surface-page: var(--ta-surface-page-default);
  --ta-color-surface: #f8f6fb;
  --ta-color-surface-alt: #f1eef8;
  --ta-color-surface-soft-accent: #eee8f7;
  --ta-color-surface-elevated: rgba(248, 246, 251, 0.98);
  --ta-color-text: #111111;
  --ta-color-text-strong: #111111;
  --ta-color-muted: #655a73;
  --ta-color-border: #ddd4ea;
  --ta-color-border-strong: rgba(17, 17, 17, 0.16);
  --ta-color-primary: #6b4fa3;
  --ta-color-primary-strong: #4e3a7a;
  --ta-color-brand-primary: var(--ta-color-primary);
  --ta-color-focus-ring: rgba(107, 79, 163, 0.24);
  --ta-color-text-soft: rgba(17, 17, 17, 0.82);
  --ta-color-heading: var(--ta-color-text);
  --ta-color-text-muted: var(--ta-color-muted);
  --ta-kicker-color: var(--ta-color-primary);
  --ta-page-band-bg-start: #d8cfee;
  --ta-page-band-bg-end: #eee8f7;

  --ta-home-trust-band-bg: var(--ta-color-surface-soft-accent);
  --ta-home-trust-band-border-color: var(--ta-color-border);
  --ta-home-trust-band-item-separator-color: rgba(107, 79, 163, 0.42);
  --ta-home-trust-band-text-color: var(--ta-color-primary-strong);
  --ta-notice-strip-bg: var(--ta-home-trust-band-bg);
  --ta-notice-strip-bg-accent: var(--ta-home-trust-band-bg);
  --ta-notice-strip-border-color: var(--ta-color-border);
  --ta-notice-strip-border-color-accent: var(--ta-color-border);
  --ta-notice-strip-text-color: var(--ta-color-text);
  --ta-notice-strip-message-bg: transparent;
  --ta-notice-strip-message-bg-accent: rgba(255, 255, 255, 0.34);
  --ta-notice-strip-message-border-color: transparent;
  --ta-notice-strip-message-border-color-accent: var(--ta-color-primary-strong);
  --ta-notice-strip-strong-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-color: var(--ta-color-primary-strong);
  --ta-notice-strip-link-hover-color: var(--ta-color-primary);
  --ta-dark-surface-ink-strong: rgba(252, 250, 255, 0.98);
  --ta-dark-surface-ink: rgba(246, 241, 255, 0.92);
  --ta-dark-surface-ink-soft: rgba(255, 255, 255, 0.66);
  --ta-dark-surface-ink-faint: rgba(255, 255, 255, 0.56);
  --ta-dark-surface-accent-soft: rgba(218, 207, 245, 0.08);
  --ta-dark-surface-accent: rgba(218, 207, 245, 0.11);
  --ta-dark-surface-accent-strong: rgba(218, 207, 245, 0.92);
  --ta-dark-surface-accent-stronger: rgba(235, 228, 255, 0.98);
  --ta-dark-surface-focus-outline: rgba(218, 207, 245, 0.72);
  --ta-dark-surface-border-soft: rgba(218, 207, 245, 0.08);
  --ta-dark-surface-border: rgba(218, 207, 245, 0.11);
  --ta-nav-desktop-context-bar-bg: #30224f;
  --ta-nav-desktop-shell-bg: #30224f;
  --ta-nav-desktop-shell-border-color: var(--ta-dark-surface-border-soft);
  --ta-nav-desktop-link-hover-bg: var(--ta-dark-surface-accent-soft);
  --ta-nav-desktop-link-active-bg: rgba(218, 207, 245, 0.13);
  --ta-nav-desktop-link-focus-ring: 0 0 0 2px rgba(218, 207, 245, 0.24);
  --ta-nav-desktop-primary-link-color: rgba(246, 241, 255, 0.84);
  --ta-nav-desktop-primary-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-primary-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-nav-desktop-context-link-color: var(--ta-dark-surface-ink);
  --ta-nav-desktop-context-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-nav-desktop-context-link-active-color: var(--ta-dark-surface-ink-strong);
  --ta-account-control-bg: rgba(255, 255, 255, 0.06);
  --ta-account-control-hover-border-color: rgba(218, 207, 245, 0.25);
  --ta-nav-header-control-bg: rgba(255, 255, 255, 0.08);
  --ta-nav-header-control-border-color: rgba(255, 255, 255, 0.18);
  --ta-nav-header-control-color: rgba(255, 255, 255, 0.92);
  --ta-nav-header-control-hover-bg: var(--ta-dark-surface-accent);
  --ta-nav-header-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-account-popover-border-color: color-mix(in srgb, var(--ta-color-primary) 12%, transparent);
  --ta-account-popover-bg: var(--ta-surface-page);
  --ta-account-popover-user-bg: color-mix(in srgb, var(--ta-surface-page-white) 46%, transparent);
  --ta-account-popover-avatar-bg: color-mix(in srgb, var(--ta-color-primary) 15%, transparent);
  --ta-account-popover-text-color: var(--ta-color-text);
  --ta-account-popover-muted-color: color-mix(in srgb, var(--ta-color-text) 66%, transparent);
  --ta-account-popover-divider-color: color-mix(in srgb, var(--ta-color-primary) 20%, transparent);
  --ta-account-popover-hover-bg: color-mix(in srgb, var(--ta-color-primary) 11%, transparent);
  --ta-nav-mobile-drawer-bg: var(--ta-nav-desktop-context-bar-bg);
  --ta-nav-mobile-drawer-overlay-bg: rgba(7, 10, 17, 0.18);
  --ta-nav-mobile-drawer-border-color: var(--ta-utility-panel-border-color);
  --ta-nav-mobile-link-hover-bg: rgba(218, 207, 245, 0.11);
  --ta-nav-mobile-link-focus-ring: inset 0 0 0 1px rgba(218, 207, 245, 0.25);
  --ta-nav-mobile-burger-bg: rgba(255, 255, 255, 0.06);
  --ta-nav-mobile-primary-group-bg: rgba(255, 255, 255, 0.03);
  --ta-nav-mobile-primary-group-label-color: rgba(255, 255, 255, 0.52);
  --ta-nav-mobile-primary-link-color: rgba(246, 241, 255, 0.85);
  --ta-nav-mobile-primary-link-hover-color: rgba(235, 228, 255, 0.98);
  --ta-nav-mobile-primary-link-active-color: rgba(250, 247, 255, 0.99);
  --ta-nav-mobile-primary-link-active-bg: rgba(218, 207, 245, 0.13);
  --ta-nav-mobile-primary-link-active-accent-color: rgba(218, 207, 245, 0.88);
  --ta-nav-mobile-context-group-bg: rgba(218, 207, 245, 0.06);
  --ta-nav-mobile-context-group-label-color: rgba(255, 255, 255, 0.58);
  --ta-nav-mobile-context-link-color: rgba(255, 255, 255, 0.92);
  --ta-nav-mobile-context-link-hover-color: rgba(235, 228, 255, 0.99);
  --ta-nav-mobile-context-link-active-color: rgba(249, 246, 255, 0.99);
  --ta-nav-mobile-context-link-active-bg: transparent;
  --ta-nav-mobile-context-link-active-underline-color: rgba(218, 207, 245, 0.92);
  --ta-utility-panel-bg: rgba(42, 32, 57, 0.99);
  --ta-utility-panel-border-color: rgba(255, 255, 255, 0.10);
  --ta-utility-panel-link-color: var(--ta-nav-header-control-color);
  --ta-pre-footer-bg: var(--ta-color-surface-alt);
  --ta-pre-footer-border-color: var(--ta-color-border);
  --ta-pre-footer-text-color: var(--ta-color-text-soft);
  --ta-footer-surface-base: #1c1724;
  --ta-footer-surface-divider: var(--ta-dark-surface-border);
  --ta-footer-ink-strong: var(--ta-dark-surface-ink-strong);
  --ta-footer-ink: var(--ta-dark-surface-ink);
  --ta-footer-ink-soft: var(--ta-dark-surface-ink-soft);
  --ta-footer-ink-faint: var(--ta-dark-surface-ink-faint);
  --ta-footer-bg: var(--ta-footer-surface-base);
  --ta-footer-color: var(--ta-footer-ink);
  --ta-footer-muted-color: var(--ta-footer-ink-soft);
  --ta-footer-heading-color: var(--ta-footer-ink-strong);
  --ta-footer-link-color: var(--ta-dark-surface-ink);
  --ta-footer-link-hover-color: var(--ta-dark-surface-accent-stronger);
  --ta-footer-border-color: var(--ta-footer-surface-divider);
  --ta-footer-divider-color: var(--ta-dark-surface-border-soft);
  --ta-footer-focus-outline-color: var(--ta-dark-surface-focus-outline);
  --ta-contact-required-color: #b42318;
  --ta-contact-input-border-color: var(--ta-color-border);
  --ta-contact-input-border-color-focus: var(--ta-color-brand-primary);
  --ta-contact-input-bg: var(--ta-color-surface);
  --ta-contact-input-color: var(--ta-color-text);
  --ta-contact-input-placeholder-color: var(--ta-color-muted);
  --ta-contact-notice-success-bg: rgba(30, 94, 49, 0.09);
  --ta-contact-notice-success-border: rgba(30, 94, 49, 0.28);
  --ta-contact-notice-error-bg: rgba(180, 35, 24, 0.08);
  --ta-contact-notice-error-border: rgba(180, 35, 24, 0.24);
  --ta-contact-error-color: #8f1e14;
  --ta-contact-help-color: var(--ta-color-muted);
  --ta-contact-after-form-border-color: var(--ta-color-border);
  --ta-hero-surface-bg: #2d2440;
  --ta-hero-title-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-body-color: #ffffff;
  --ta-hero-button-outline-bg: rgba(255, 255, 255, 0.06);
  --ta-hero-button-outline-color: var(--ta-nav-desktop-context-link-color);
  --ta-hero-button-outline-border-color: rgba(249, 246, 255, 0.88);
  --ta-icon-color: var(--ta-color-primary);
  --ta-icon-role-subtle-color: var(--ta-color-primary);
  --ta-icon-role-cta-color: var(--ta-color-primary);
  --ta-next-link-icon-bg: rgba(107, 79, 163, 0.09);
  --ta-next-link-icon-color: var(--ta-color-primary);
  --ta-next-link-label-color: var(--ta-color-primary);
  --ta-service-starting-icon-color: var(--ta-color-primary);
}
