@charset "UTF-8";
/* =========================================================================
 * ACSS baseline — CAI-owned replacement for Automatic.css + Frames
 * =========================================================================
 * Purpose: let Automatic.css (ACSS) and its Frames companion be deactivated
 * with ZERO visual change. Every rule and value below was extracted verbatim
 * from the generated uploads/automatic-css/automatic.css and the resolved
 * :root values ACSS produced on this site (2026-10-12), then verified with a
 * computed-style A/B comparison of 100+ URLs at 1440px and 390px
 * (ACSS on vs. ACSS off + this file).
 *
 * What is NOT here, deliberately: ACSS's utility-class library (bg--*, text--*,
 * pad--*, btn--*, grid--*, etc.), the Bricks/WooCommerce/ACSS-dashboard rules,
 * and all of Frames. A scan of every Elementor document and all post content
 * found zero uses of them.
 *
 * Specificity/order: the selectors are copied unchanged (they are mostly
 * :where() / single-element, i.e. very low specificity), and this stylesheet
 * loads first, so theme, Elementor and widget CSS override it exactly as they
 * overrode ACSS.
 * ---------------------------------------------------------------------- */
:root {
  /* Layout tokens read by the section / section > div / img baselines */
  --container-gap: clamp(2.6653335rem, calc(2.3013577778vw + 2.147528rem), 4.21875rem);
  --content-gap: clamp(1.5rem, calc(0.5555555556vw + 1.375rem), 1.875rem);
  --gutter: clamp(1.25rem, calc(4.6296296296vw + 0.2083333333rem), 4.375rem);
  --section-padding-block: clamp(3rem, calc(3.8888888889vw + 2.125rem), 5.625rem);
  --radius: 5px;
  /* Type + body tokens */
  --text-font-family: Arial, Helvetica, sans-serif;
  --text-font-weight: 400;
  --text-line-height: calc(6px + 2ex);
  --text-color: #141414;
  --text-text-wrap: pretty;
  --text-m: clamp(1rem, calc(0.2777777778vw + 0.9375rem), 1.1875rem);
  --body-color: #141414;
  --body-bg-color: #FFFFFF;
  --white: #FFFFFF;
  --h1: clamp(1.875rem, calc(2.3148148148vw + 1.3541666667rem), 3.4375rem);
  --h2: clamp(1.4375rem, calc(1.2962962963vw + 1.1458333333rem), 2.3125rem);
  --h3: clamp(1.35rem, calc(0.1296296296vw + 1.3208333333rem), 1.4375rem);
  --h4: clamp(1.125rem, calc(0.2777777778vw + 1.0625rem), 1.3125rem);
  --h5: clamp(0.8125rem, calc(0.6481481481vw + 0.6666666667rem), 1.25rem);
  --h6: clamp(0.75rem, calc(0.5555555556vw + 0.625rem), 1.125rem);
  --h1-max-width: 100%;
  --h2-max-width: 100%;
  --h3-max-width: 100%;
  --h4-max-width: 100%;
  --h5-max-width: 100%;
  --h6-max-width: 100%;
  --h2-color: #1F3144;
  --h3-color: #1F3144;
  --h4-line-height: calc(4px + 2ex);
  --h5-font-weight: 700;
  /* Links + motion */
  --link-color: var(--cai-color-action, #6A6BD4);
  --link-color-hover: var(--cai-color-action-hover, #2f2951);
  --link-weight: 400;
  --link-decoration: none;
  --link-decoration-hover: underline;
  --link-underline-offset: auto;
  --link-transition: background 0.3s ease-in-out 0s, color 0.3s ease-in-out 0s, border 0.3s ease-in-out 0s;
  --transition: background 0.3s ease-in-out 0s, color 0.3s ease-in-out 0s, border 0.3s ease-in-out 0s;
  /* Keyboard focus ring (accessibility — keep) */
  --focus-color: #0081c2;
  --focus-width: 2px;
  --focus-offset: 2px;
}

/* ---- verbatim ACSS element-level rules ---- */
[id] {
  scroll-margin-top: var(--offset, 0);
}

:root {
  interpolate-size: allow-keywords;
}

body {
  min-block-size: 100vh;
}

input, button, textarea, select {
  font: inherit;
}

:where(dd) {
  margin-inline-start: 0;
}

:focus {
  outline: none;
  box-shadow: none;
}

:focus-visible {
  outline-style: solid;
  outline-color: var(--focus-color);
  outline-width: var(--focus-width);
  outline-offset: var(--focus-offset);
}

@supports not selector(:focus-visible) {
  :focus {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:where(section:not(section section)) {
  padding-block: var(--section-padding-block);
  padding-inline: var(--gutter);
}

body {
  font-size: var(--default-font-size, var(--text-m));
  font-family: var(--text-font-family);
  color: var(--text-color);
  line-height: var(--text-line-height);
  font-weight: var(--text-font-weight);
  text-wrap: var(--text-text-wrap);
}

p, li {
  line-height: var(--text-line-height, calc(6px + 2ex));
}

h1 {
  font-size: var(--h1);
  max-width: var(--h1-max-width);
}

h2 {
  font-size: var(--h2);
  max-width: var(--h2-max-width);
  color: var(--h2-color);
}

h3 {
  font-size: var(--h3);
  max-width: var(--h3-max-width);
  color: var(--h3-color);
}

h4 {
  font-size: var(--h4);
  line-height: var(--h4-line-height);
  max-width: var(--h4-max-width);
}

h5 {
  font-size: var(--h5);
  font-weight: var(--h5-font-weight);
  max-width: var(--h5-max-width);
}

h6 {
  font-size: var(--h6);
  max-width: var(--h6-max-width);
}

body {
  color: var(--body-color, #141414);
  background-color: var(--body-bg-color, var(--white));
}

body a:where(:not([class*=btn--])) {
  color: var(--link-color, var(--cai-color-action));
  font-weight: var(--link-weight, 400);
  -webkit-text-decoration: var(--link-decoration, none);
  text-decoration: var(--link-decoration, none);
  text-underline-offset: var(--link-underline-offset, auto);
  transition: var(--link-transition, var(--transition));
}

@media (hover: hover) and (pointer: fine) {
  body a:where(:not([class*=btn--])):hover {
    color: var(--link-color-hover, var(--cai-color-action-hover));
    -webkit-text-decoration: var(--link-decoration-hover, underline);
    text-decoration: var(--link-decoration-hover, underline);
  }
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
  text-decoration: inherit;
  color: currentcolor;
  text-underline-offset: var(--link-underline-offset, auto);
}

@media (hover: hover) and (pointer: fine) {
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: currentcolor;
  }
}
blockquote {
  text-wrap: pretty;
}

section:where(:not(.bricks-shape-divider)) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--container-gap);
}

section > div:where(:not(.bricks-shape-divider)) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--content-gap);
}

:where(img), :where(figure:not(figure:has(img))) {
  border-radius: var(--radius);
}

/* -------------------------------------------------------------------------
 * Legacy tokens — still referenced by the WPCodeBox CSS/SCSS snippets
 * -------------------------------------------------------------------------
 * Global Custom CSS, Recent Posts Insights, Post Single Page, Filter Tools,
 * Breadcrumbs, Timeline, Resources Library and HubSpot Forms styling were
 * written against ACSS variables. Defining them here (same values ACSS
 * resolved) keeps those snippets working without editing them. Retire an
 * entry once its snippet is migrated to --cai-* tokens. */
:root {
  --primary: #0081c2;
  --neutral: #000000;
  --neutral-semi-dark: #595959;
  --black: #000;
  --text-dark: #000;
  --danger: #DC3545;
  --radius-xl: 11.25px;
  --content-width: 90rem;
  --text-xs: clamp(0.75rem, calc(0.3703703704vw + 0.6666666667rem), 1rem);
  --text-l: clamp(1.2rem, calc(0.4438888889vw + 1.100125rem), 1.499625rem);
  --space-xs: clamp(0.8441720333rem, calc(-0.0160573332vw + 0.8477849332rem), 0.8333333333rem);
  --space-s: clamp(1.1252813203rem, calc(0.1847684143vw + 1.0837084271rem), 1.25rem);
  --space-m: clamp(1.5rem, calc(0.5555555556vw + 1.375rem), 1.875rem);
  --space-l: clamp(1.9995rem, calc(1.2044444444vw + 1.7285rem), 2.8125rem);
  --grid-1: repeat(1, minmax(0, 1fr));
  --grid-2: repeat(2, minmax(0, 1fr));
  --grid-3: repeat(3, minmax(0, 1fr));
  --btn-padding-block: 0.9em;
  --btn-padding-inline: 1.5em;
  --btn-min-width: 8.75rem;
  --btn-radius: var(--radius-xl);
  --btn-border-style: solid;
  --btn-border-width: 2px;
  --btn-font-style: normal;
  --btn-font-weight: 600;
  --btn-justify-content: center;
  --btn-letter-spacing: 0;
  --btn-line-height: 1;
  --btn-text-align: center;
  --btn-text-decoration: none;
  --btn-text-transform: none;
}
