





/* Theme fields.json variables  */



/* Typography */

























/* Main variables  */
:root {
  --body-font: var(--typography-Fonts-Primary);
  --body-font-second: var(--typography-Fonts-Secondary);
  --body-font-size: 20px;
  --body-font-color: var();

  --column-gap: 0;
  --column-width-multiplier: 0;
  --container-width: var(--container-container-large);
  --container-padding: var(--content-padding-s);

  /* color text (light mode - default) */
  --text-primary: var(--color-grey-900);
  --text-secondary: var(--color-grey-700);
  --text-tertiary: var(--color-grey-600);
  --text-inverse: var(--color-grey-200);
  --text-accent: var(--color-grey-700);

  /* color background (light mode - default) */
  --background-primary: var(--color-grey-200);
  --background-secondary: var(--color-grey-300);
  --background-tertiary: var(--color-grey-400);
  --background-surface: var(--color-black-4);
  --background-elevation: var(--color-white-16);
  --background-indentation: var(--color-black-4);
  --background-inverse: var(--color-grey-900);
  --background-icon-surface: var(--color-grey-500);

  /* color content (light mode - default) */
  --content-surface: #F7F6F2CC;

  /* color interactive (light mode - default) */
  --interactive-hover: var(--color-black-4);
  --interactive-active: var(--color-black-8);
  --interactive-hover-inverse: var(--color-white-16);
  --interactive-active-inverse: var(--color-white-8);

  /* color overlay (light mode - default) */
  --overlay-weak: var(--color-black-4);
  --overlay-medium: var(--color-black-8);
  --overlay-strong: var(--color-black-50);

  /* color border (light mode - default) */
  --border-weak: var(--color-light-grey-12);
  --border-medium: var(--color-medium-grey-35);
  --border-strong: var(--color-strong-grey-65);

  /* Spacing & size global (desktop) */
  --global-blank: 0px;
  --global-gutter: 16px;
  --global-margin: 56px;
  --global-columns: 12;

  /* Spacing & size container */
  --container-site-max: 1440px;
  --container-container-large: 1280px;
  --container-container-medium: 1024px;
  --container-container-small: 768px;

  /* Spacing & size content-padding (desktop) */
  --content-padding-s: 24px;
  --content-padding-m: 32px;
  --content-padding-l: 40px;
  --content-padding-xl: 120px;

  /* Spacing & size content-height */
  --content-height-xl: 840px;
  --content-height-l: 720px;
  --content-height-m: 560px;
  --content-height-s: 480px;
  --content-height-xs: 320px;

  /* Spacing & size content-radius */
  --corner-radius-none: 0px;
  --corner-radius-s: 12px;
  --corner-radius-m: 16px;

  /* Spacing & size max-width */
  --max-width-max-width-xxsmall: 320px;
  --max-width-max-width-xsmall: 400px;
  --max-width-max-width-small: 480px;
  --max-width-max-width-medium: 560px;
  --max-width-max-width-large: 768px;
  --max-width-max-width-xlarge: 1024px;
  --max-width-max-width-xxlarge: 1280px;

  /* Spacing & size padding (desktop) */
  --padding-padding-section-extra-large: 200px;
  --padding-padding-section-large: 120px;
  --padding-padding-section-medium: 80px;
  --padding-padding-section-small: 48px;
  --padding-padding-section-x-small: 32px;
  --padding-padding-section-xx-small: 24px;
  --padding-padding-section-blank: 0px;

  /* Spacing & size granular (desktop) */
  --granular-blank: 0px;
  --granular-between-text-XS: 4px;
  --granular-between-text-S: 8px;
  --granular-between-text-M: 16px;
  --granular-between-text-L: 24px;
  --granular-between-chips: 12px;
  --granular-between-cards: 8px;
  --granular-component-default: 16px;

  /* Spacing & size typography-size (desktop) */
  --typography-sizes-title: 64px;
  --typography-sizes-h1: 56px;
  --typography-sizes-h2: 48px;
  --typography-sizes-h3: 40px;
  --typography-sizes-h4: 32px;
  --typography-sizes-h5: 24px;
  --typography-sizes-h6: 20px;
  --typography-sizes-lg: 20px;
  --typography-sizes-md: 16px;
  --typography-sizes-sm: 14px;
  --typography-sizes-label: 14px;
  --typography-sizes-caption: 12px;
  --typography-sizes-button: 16px;

  /* Alias color black */
  --color-black-4: #1A1A1A0A;
  --color-black-8: #1A1A1A14;
  --color-black-12: #1A1A1A1F;
  --color-black-16: #1A1A1A29;
  --color-black-20: #1A1A1A33;
  --color-black-50: #1A1A1A80;

  /* Alias color white */
  --color-white-4: #FFFFFF0A;
  --color-white-8: #FFFFFF14;
  --color-white-12: #FFFFFF1F;
  --color-white-16: #FFFFFF29;
  --color-white-24: #FFFFFF3D;
  --color-white-50: #FFFFFF80;
  --color-white-96: #FFFFFFF5;

  /* Alias color grey */
  --color-light-grey-4: #E9E8E2;
  --color-light-grey-8: #E0DFD8;
  --color-light-grey-12: #D6D5CF;
  --color-medium-grey-35: #ABAAA8;
  --color-strong-grey-65: #6A6A68;
  --color-soft-black: #36322F;

  /* Brand color neutrals */
  --color-neutrals-white: #FFFFFF;

  /* Brand color grey */
  --color-grey-50: #FBFBF9;
  --color-grey-100: #F7F6F2;
  --color-grey-200: #F3F2EB;
  --color-grey-300: #E8E6DC;
  --color-grey-400: #D9D4C8;
  --color-grey-500: #BBB6AA;
  --color-grey-600: #928E85;
  --color-grey-700: #6A6862;
  --color-grey-800: #43413F;
  --color-grey-900: #1A1A1A;

  /* Brand color yellow */
  --color-yellow-100: #FFF5C9;
  --color-yellow-200: #FEEDB2;
  --color-yellow-300: #FEEA98;
  --color-yellow-400: #FEE687;
  --color-yellow-500: #FDE276;
  --color-yellow-600: #FDDC64;
  --color-yellow-700: #FFD122;
  --color-yellow-800: #FFC600;
  --color-yellow-900: #FFCF00;

  /* Brand color blue-green */
  --color-blue-green-100: #CFE5EB;
  --color-blue-green-200: #B5DEEC;
  --color-blue-green-300: #A7DAE5;
  --color-blue-green-400: #AAD3DE;
  --color-blue-green-500: #92C6D5;
  --color-blue-green-600: #9DC1C0;
  --color-blue-green-700: #9EC194;
  --color-blue-green-800: #9EC071;
  --color-blue-green-900-2: #92C115;
  --color-blue-green-900: #89C8D7;

  /* Brand color orange-pink */
  --color-orange-pink-100: #FFE2B5;
  --color-orange-pink-200: #FFD283;
  --color-orange-pink-300: #FFC249;
  --color-orange-pink-400: #FFB318;
  --color-orange-pink-500: #FFA503;
  --color-orange-pink-600: #FF9844;
  --color-orange-pink-700: #FF8A69;
  --color-orange-pink-800: #FF7988;
  --color-orange-pink-900: #FF6C9F;

  /* Brand typography fonts */
  --typography-Fonts-Primary: 'STIX Two Math';
  --typography-Fonts-Secondary: 'Euclid Circular A';

  /* Brand typography text-styles */
  --typography-Text-Styles-Light: 'Light';
  --typography-Text-Styles-Regular: 'Regular';
  --typography-Text-Styles-Regular-Italic: 'Italic';
  --typography-Text-Styles-Medium: 'Medium';
  --typography-Text-Styles-Semibold: 'Semibold';
  --typography-Text-Styles-Bold: 'Bold';
  --typography-Text-Styles-Black: 'Black';

}

/* Dark mode overrides — only semantic tokens change, brand palette stays the same */
[data-theme="dark"] {
  /* color text */
  --text-primary: var(--color-grey-200);
  --text-secondary: var(--color-grey-400);
  --text-tertiary: var(--color-grey-500);
  --text-inverse: var(--color-grey-900);
  --text-accent: var(--color-grey-700);

  /* color background */
  --background-primary: var(--color-soft-black);
  --background-secondary: var(--color-grey-600);
  --background-tertiary: var(--color-grey-500);
  --background-surface: var(--color-black-4);
  --background-elevation: var(--color-white-8);
  --background-indentation: var(--color-black-4);
  --background-inverse: var(--color-grey-200);
  --background-icon-surface: var(--color-grey-500);

  /* color content */
  --content-surface: #36322F1A;

  /* color interactive */
  --interactive-hover: var(--color-white-4);
  --interactive-active: var(--color-white-8);
  --interactive-hover-inverse: var(--color-black-16);
  --interactive-active-inverse: var(--color-black-8);

  /* color overlay */
  --overlay-weak: var(--color-black-8);
  --overlay-medium: var(--color-black-20);
  --overlay-strong: var(--color-black-50);

  /* color border */
  --border-weak: var(--color-white-8);
  --border-medium: var(--color-white-24);
  --border-strong: var(--color-white-50);
}

/* Explicit light mode — resets tokens to light defaults so nested modules can opt out of an inherited dark parent */
[data-theme="light"] {
  --text-primary: var(--color-grey-900);
  --text-secondary: var(--color-grey-700);
  --text-tertiary: var(--color-grey-600);
  --text-inverse: var(--color-grey-200);
  --text-accent: var(--color-grey-700);

  --background-primary: var(--color-grey-200);
  --background-secondary: var(--color-grey-300);
  --background-tertiary: var(--color-grey-400);
  --background-surface: var(--color-black-4);
  --background-elevation: var(--color-white-16);
  --background-indentation: var(--color-black-4);
  --background-inverse: var(--color-grey-900);
  --background-icon-surface: var(--color-grey-500);

  --content-surface: #F7F6F2CC;

  --interactive-hover: var(--color-black-4);
  --interactive-active: var(--color-black-8);
  --interactive-hover-inverse: var(--color-white-16);
  --interactive-active-inverse: var(--color-white-8);

  --overlay-weak: var(--color-black-4);
  --overlay-medium: var(--color-black-8);
  --overlay-strong: var(--color-black-50);

  --border-weak: var(--color-light-grey-12);
  --border-medium: var(--color-medium-grey-35);
  --border-strong: var(--color-strong-grey-65);
}

/* Responsive overrides */
/* Tablet overrides (max-width: 991px) */
@media (max-width: 991px) {
  :root {
    /* global */
    --global-blank: 0px;
    --global-gutter: 16px;
    --global-margin: 32px;
    --global-columns: 8;

    /* content-padding */
    --content-padding-s: 20px;
    --content-padding-m: 28px;
    --content-padding-l: 36px;
    --content-padding-xl: 72px;

    /* padding */
    --padding-padding-section-extra-large: 120px;
    --padding-padding-section-large: 80px;
    --padding-padding-section-medium: 64px;
    --padding-padding-section-small: 40px;
    --padding-padding-section-x-small: 28px;
    --padding-padding-section-xx-small: 24px;

    /* granular */
    --granular-blank: 0px;
    --granular-between-text-XS: 4px;
    --granular-between-text-S: 8px;
    --granular-between-text-M: 16px;
    --granular-between-text-L: 16px;
    --granular-between-chips: 12px;
    --granular-between-cards: 8px;
    --granular-component-default: 16px;

    /* typography */
    --typography-sizes-title: 48px;
    --typography-sizes-h1: 40px;
    --typography-sizes-h2: 36px;
    --typography-sizes-h3: 28px;
    --typography-sizes-h4: 24px;
    --typography-sizes-h5: 22px;
    --typography-sizes-h6: 18px;
    --typography-sizes-lg: 18px;
    --typography-sizes-md: 15px;
    --typography-sizes-sm: 13px;
    --typography-sizes-label: 13px;
    --typography-sizes-caption: 11px;
    --typography-sizes-button: 14px;
  }
}

/* Mobile overrides (max-width: 767px) */
@media (max-width: 767px) {
  :root {
    /* global */
    --global-blank: 0px;
    --global-gutter: 16px;
    --global-margin: 20px;
    --global-columns: 6;

    /* content-padding */
    --content-padding-s: 16px;
    --content-padding-m: 24px;
    --content-padding-l: 32px;
    --content-padding-xl: 48px;

    /* padding */
    --padding-padding-section-extra-large: 80px;
    --padding-padding-section-large: 64px;
    --padding-padding-section-medium: 48px;
    --padding-padding-section-small: 32px;
    --padding-padding-section-x-small: 24px;
    --padding-padding-section-xx-small: 20px;

    /* granular */
    --granular-blank: 0px;
    --granular-between-text-XS: 4px;
    --granular-between-text-S: 6px;
    --granular-between-text-M: 8px;
    --granular-between-text-L: 12px;
    --granular-between-chips: 12px;
    --granular-between-cards: 8px;
    --granular-component-default: 16px;

    /* typography */
    --typography-sizes-title: 32px;
    --typography-sizes-h1: 28px;
    --typography-sizes-h2: 24px;
    --typography-sizes-h3: 22px;
    --typography-sizes-h4: 20px;
    --typography-sizes-h5: 18px;
    --typography-sizes-h6: 16px;
    --typography-sizes-lg: 16px;
    --typography-sizes-md: 14px;
    --typography-sizes-sm: 12px;
    --typography-sizes-label: 12px;
    --typography-sizes-caption: 10px;
    --typography-sizes-button: 14px;
  }
}



body .container {
  max-width: calc(var(--container-width) + var(--container-padding) * 2);
  margin: 0 auto;
  padding: 0 var(--container-padding);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.content-wrapper {
  margin: 0 auto;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}




html {
  font-size: ;
}

body {
  font-family: var(--body-font);
  font-size: var(--body-font-size);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background-color: var(--background-primary);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

h1, .h1 { color: var(--text-primary); }
h2, .h2 { color: var(--text-primary); }
h3, .h3 { color: var(--text-primary); }
h4, .h4 { color: var(--text-primary); }
h5, .h5 { color: var(--text-primary); }
h6, .h6 { color: var(--text-primary); }

/* Paragraphs */

label,
p {
  color: var(--text-primary);
  font-family: var(--body-font-second)
}

label {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  letter-spacing: 0.14px;
  text-transform: uppercase;
}

p {
  margin: 0;
}

p.body-large-regular {
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 28px */
  letter-spacing: -0.2px;
}
p.body-large-medium {
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  letter-spacing: -0.2px;
}
p.body-large-medium strong {
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  letter-spacing: -0.2px;
}

p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 22.4px */
  letter-spacing: -0.16px;
}
p.body-medium {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
  letter-spacing: -0.16px;
}
p.body-medium strong {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
  letter-spacing: -0.16px;
}

p.body-small-regular {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
  letter-spacing: unset;
}
p.body-small-regular strong{
  font-size: 14px
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
  letter-spacing: unset;
}

p.body-small-medium {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  letter-spacing: unset;
}
p.body-small-medium strong {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  letter-spacing: unset;
}

/* mobile headings & paragraphs */
@media(max-width: 992px) {

}











.hs-search-results__title {
  font-weight: 400; text-decoration: none; font-style: normal;
  color: var(--text-primary);
}

/* Blog tag-filtered state — applies on tag URLs AND when a filter pill is active client-side.
   Set by blog.module JS on pill click, and by inline script in blog-listing.html on load for tag URLs. */
body.blog-tag-filtered .featured-article-module {
  display: none;
}
body.blog-tag-filtered .resources-hero-module {
  background: var(--background-primary) !important;
}