@charset "UTF-8";
:root {
  --brand-25: #fbfaff;
  --brand-50: #f5f3ff;
  --brand-100: #ece9fe;
  --brand-200: #ddd6fe;
  --brand-300: #c3b5fd;
  --brand-400: #a48afb;
  --brand-500: #875bf7;
  --brand-600: #7839ee;
  --brand-700: #6927da;
  --brand-800: #5a11b8;
  --brand-900: #480e93;
  --brand-950: #251561;
  --gray-25: #fcfcfd;
  --gray-50: #f9f9fb;
  --gray-100: #eff1f5;
  --gray-200: #dcdfea;
  --gray-300: #b9c0d4;
  --gray-400: #7d89b0;
  --gray-500: #5d6b98;
  --gray-600: #4a5578;
  --gray-700: #404968;
  --gray-800: #30374f;
  --gray-900: #111322;
  --gray-950: #0e101b;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-off-white: var(--gray-50);
  --color-gray: var(--gray-50);
  --color-primary: var(--brand-700);
  --color-secondary: var(--brand-600);
  --color-accent-1: var(--brand-400);
  --color-accent-2: var(--brand-500);
  --color-type-body: var(--gray-900);
  --color-type-heading: var(--gray-900);
  --color-success-25: #f6fef9;
  --color-success-500: #17b26a;
  --color-success-700: #067647;
  --color-warning-25: #fffcf5;
  --color-warning-500: #f79009;
  --color-warning-700: #b54708;
  --color-error-25: #fffbfa;
  --color-error-500: #f04438;
  --color-error-700: #b42318;
  --green-300: #5beabe;
  --green-400: #11bb86;
  --green-500: #0d956b;
  --green-600: #0c8661;
  --green-700: #0a7050;
  --color-highlight: var(--color-secondary);
  --color-highlight-hover: var(--brand-500);
  --color-highlight-alt: var(--brand-400);
  --color-highlight-alt-hover: var(--brand-300);
  --color-gradient-1: linear-gradient(var(--brand-700), var(--brand-500));
  /* Figma Spacing Scale */
  --spacing-none: 0px;
  --spacing-xxs: 2px;
  --spacing-xs: 4px;
  --spacing-sm: 6px;
  --spacing-md: 8px;
  --spacing-lg: 14px;
  --spacing-xl: 16px;
  --spacing-2xl: 20px;
  --spacing-3xl: 24px;
  --spacing-4xl: 32px;
  --spacing-5xl: 40px;
  --spacing-6xl: 48px;
  --spacing-7xl: 64px;
  --spacing-8xl: 80px;
  --spacing-9xl: 96px;
  --spacing-10xl: 128px;
  --spacing-11xl: 160px;
  /* Framework & Containers */
  --content-width: 1276px;
  --content-half-width: calc(var(--content-width) / 2);
  --content-text-max-width: 650px;
  --content-horizontal-padding: 30px;
  /* Vertical Content Spacing */
  --content-vertical-padding-normal: 96px;
  --content-vertical-padding-more: 128px;
  --content-vertical-padding-less: 60px;
  /* Inner Content Spacing */
  --inner-spacing-xxl: 70px;
  --inner-spacing-xl: 60px;
  --inner-spacing-lg: 36px;
  --inner-spacing-md: 30px;
  --inner-spacing-sm: 14px;
  --inner-spacing-xs: 7px;
  /* Border Radius (Figma Scale) */
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-2xl: 20px;
  --border-radius-3xl: 24px;
  --border-radius-5xl: 32px;
  --border-radius-6xl: 40px;
  --border-radius-full: 9999px;
  /* Box Shadows */
  --box-shadow-xs: 0px 1px 2px 0px rgba(10, 13, 18, 0.05);
  --box-shadow-sm: 0px 1px 2px 0px rgba(10, 13, 18, 0.06), 0px 1px 3px 0px rgba(10, 13, 18, 0.1);
  --box-shadow-sm-hover: 0px 2px 4px -2px rgba(10, 13, 18, 0.06), 0px 4px 8px -2px rgba(10, 13, 18, 0.1);
  --box-shadow-md: 0px 2px 4px -2px rgba(10, 13, 18, 0.06), 0px 4px 8px -2px rgba(10, 13, 18, 0.1);
  --box-shadow-md-hover: 0px 4px 6px -2px rgba(10, 13, 18, 0.03), 0px 12px 16px -4px rgba(10, 13, 18, 0.08);
  --box-shadow-lg: 0px 4px 6px -2px rgba(10, 13, 18, 0.03), 0px 12px 16px -4px rgba(10, 13, 18, 0.08);
  --box-shadow-lg-hover: 0px 8px 8px -4px rgba(10, 13, 18, 0.03), 0px 20px 24px -4px rgba(10, 13, 18, 0.08);
  --box-shadow-dropdown:
    0px 8px 16px -4px rgba(10, 13, 18, 0.5), 0px 2px 4px -2px rgba(10, 13, 18, 0.16),
    0px 4px 8px -2px rgba(10, 13, 18, 0.1);
  /* Miscellaneous */
  --line-thickness: 1px;
  --overlay-opacity: 0.7;
  --zoom-scale: 1.1;
  /* Lines */
  --hr-color: var(--gray-200);
  --hr-color-alt: var(--gray-200);
  --hr-width: 100%;
  --hr-height: var(--line-thickness);
  /* Transitions */
  --transition-timing-normal: 0.3s;
  --transition-timing-fast: 0.15s;
  --transition-timing-slow: 0.6s;
  --transition-ease-1: ease;
  --transition-ease-2: ease-in-out;
  /* Font Families */
  --display-font-family: "Quicksand", sans-serif;
  --heading-font-family: "Quicksand", sans-serif;
  --subheading-font-family: "Quicksand", sans-serif;
  --body-font-family: "proxima-nova", sans-serif;
  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* Headings — Figma Display Scale (Quicksand) */
  /* Heading 2XL — display-2xl */
  --heading-xxl-font-size: 72px;
  --heading-xxl-line-height: 1.1;
  --heading-xxl-letter-spacing: -1.44px;
  /* Heading XL — display-xl */
  --heading-xl-font-size: 60px;
  --heading-xl-line-height: 1.2;
  --heading-xl-letter-spacing: -1.2px;
  /* Heading LG — display-lg */
  --heading-lg-font-size: 48px;
  --heading-lg-line-height: 1.25;
  --heading-lg-letter-spacing: -0.96px;
  /* Heading MD — display-md */
  --heading-md-font-size: 36px;
  --heading-md-line-height: 1.22;
  --heading-md-letter-spacing: -0.72px;
  /* Heading SM — display-sm */
  --heading-sm-font-size: 30px;
  --heading-sm-line-height: 1.27;
  --heading-sm-letter-spacing: 0px;
  /* Heading XS — display-xs */
  --heading-xs-font-size: 24px;
  --heading-xs-line-height: 1.33;
  --heading-xs-letter-spacing: 0px;
  /* Heading XXS — display-xxs */
  --heading-xxs-font-size: 20px;
  --heading-xxs-line-height: 30px;
  --heading-xxs-letter-spacing: 0px;
  /* Eyebrow / Overline (Quicksand) */
  --eyebrow-font-family: "Quicksand", sans-serif;
  --eyebrow-font-size: 18px;
  --eyebrow-font-weight: var(--font-weight-bold);
  --eyebrow-line-height: 1.11;
  --eyebrow-letter-spacing: 2.52px;
  --eyebrow-text-transform: uppercase;
  /* Body — Figma Text Scale (Proxima Nova) */
  /* Body XL */
  --body-xl-font-size: 20px;
  --body-xl-line-height: 1.5;
  /* Body LG */
  --body-lg-font-size: 18px;
  --body-lg-line-height: 1.56;
  /* Body MD */
  --body-md-font-size: 16px;
  --body-md-line-height: 1.5;
  /* Body SM */
  --body-sm-font-size: 14px;
  --body-sm-line-height: 1.43;
  /* Body XS */
  --body-xs-font-size: 12px;
  --body-xs-line-height: 1.5;
  /* Caption */
  --caption-font-size: 12px;
  --caption-line-height: 1.5;
  --body-default-font-size: var(--body-md-font-size);
  --body-default-line-height: var(--body-md-line-height);
  --body-default-font-weight: var(--font-weight-regular);
  --body-default-font-color: var(--gray-600);
  --display-font-weight: var(--font-weight-bold);
  --heading-font-weight: var(--font-weight-semibold);
  --subheading-font-weight: var(--font-weight-medium);
  /* Text Links */
  --text-link-underline-height: 2px;
  --text-link-underline-offset: 3px;
  --text-link-underline-height-hover: 2px;
  /* Link Colors */
  --text-link-color: var(--green-600);
  --text-link-color-alt: var(--color-white);
  /* Hover Colors */
  --text-link-color-hover: var(--brand-600);
  --text-link-color-alt-hover: var(--brand-400);
  /* Underline Colors */
  --text-link-underline-color: ar(--green-600);
  --text-link-underline-color-alt: var(--brand-400);
  /* Hover Underline Colors */
  --text-link-underline-color-hover: var(--brand-500);
  --text-link-underline-color-alt-hover: var(--brand-300);
  /* Visited Color */
  --text-link-color-visited: var(--green-600);
  /* List Items */
  --list-marker-color: var(--gray-600);
  --list-marker-color-alt: var(--color-white);
  --list-item-vertical-margin: 10px;
  /* Block Quote */
  --block-quote-border-color: var(--color-highlight);
  --block-quote-border-color-alt: var(--color-highlight);
  --block-quote-font-size: var(--body-md-font-size);
  --block-quote-font-style: italic;
  --block-quote-max-width: 500px;
  --block-quote-vertical-sapcing: var(--inner-spacing-sm);
  --block-quote-horizontal-sapcing: calc(var(--block-quote-vertical-sapcing) * 2);
  /* //////////////////////////////
   /////// Column Settings ///////
   //////////////////////////// */
  --column-gap-two: 20px;
  --column-gap-three: 20px;
  --column-gap-four: 20px;
  --column-gap-five: var(--inner-spacing-sm);
  --column-gap-six: var(--inner-spacing-sm);
  /* ////////////////////////
   ///////// BUTTONS ////////
   /////////////////////// */
  --button-font-family: var(--body-font-family);
  --button-font-size: var(--body-md-font-size);
  --button-font-weight: var(--font-weight-medium);
  --button-padding-vertical: var(--spacing-lg);
  --button-padding-horizontal: var(--spacing-3xl);
  --button-border-radius: var(--border-radius-full);
  --button-border-thickness: 2px;
  --button-border-color: var(--brand-600);
  --button-border-type: solid;
  --button-gap-size: var(--spacing-lg);
  /* Default Button (Purple Filled) */
  --button-default-font-color: var(--gray-25);
  --button-default-background-color: var(--brand-600);
  /* Default Button Hover */
  --button-default-font-color-hover: var(--gray-25);
  --button-default-background-color-hover: var(--brand-700);
  --button-default-border-color-hover: var(--brand-700);
  /* Parent uses these names for hover in dark-background contexts */
  --button-background-color-hover: var(--button-default-background-color-hover);
  --button-text-color-hover: var(--button-default-font-color-hover);
  /* Alt vars — parent uses these on dark backgrounds for .frameworker-button */
  /* So we point them to primary colors to keep buttons consistent */
  --button-alt-font-color: var(--button-default-font-color);
  --button-alt-background-color: var(--button-default-background-color);
  --button-alt-border-color: var(--button-border-color);
  --button-alt-font-color-hover: var(--button-default-font-color-hover);
  --button-alt-background-color-hover: var(--button-default-background-color-hover);
  --button-alt-border-color-hover: var(--button-default-border-color-hover);
  /* Secondary Button (Green Outlined) — used by .frameworker-button-alt */
  --button-secondary-font-color: var(--green-600);
  --button-secondary-background-color: var(--color-white);
  --button-secondary-font-color-hover: var(--brand-800);
  --button-secondary-background-color-hover: var(--color-white);
  /* Tertiary Button (Text Only) */
  --button-tertiary-font-color: var(--green-600);
  --button-tertiary-font-color-hover: var(--green-500);
  /* ////////////////////////////
   //////// Input & Forms ////////
   //////////////////////////// */
  --input-font-family: var(--body-font-family);
  --input-font-weight: var(--font-weight-regular);
  --input-text-color: var(--gray-900);
  --input-placeholder-color: var(--gray-500);
  --input-placeholder-opacity: 1;
  --input-border-color: var(--gray-300);
  --input-background-color: var(--color-white);
  --input-border-radius: var(--border-radius-full);
  --input-border-thickness: var(--line-thickness);
  --input-border-color-focus: var(--brand-500);
  --input-padding-vertical: 12px;
  --input-padding-horizontal: 16px;
  --input-max-width: 500px;
  --input-border-color-alt: var(--gray-200);
  --input-border-highlight-dark: var(--brand-400);
  /* ////////////////////////////
   ////////// Loaders ////////////
   //////////////////////////// */
  --loader-background-color: var(--color-white);
  --loader-spinner-color: var(--brand-600);
  --loader-spinner-width: 200px;
  /* ///////////////////////////////////
  //// Global Pagination Settings ///////
  ////////////////////////////////////// */
  /* Section Spacing */
  --pagination-padding-vertical: var(--inner-spacing-md);
  --pagination-padding-horizontal: 0;
  /* Border */
  --pagination-border-width: var(--line-thickness);
  --pagination-border-color: var(--gray-200);
  /* Button Spacing */
  --pagination-button-padding-vertical: var(--inner-spacing-sm);
  --pagination-button-padding-horizontal: var(--inner-spacing-md);
  --pagination-button-space-between: var(--inner-spacing-xs);
  /* Clickable Buttons */
  --pagination-clickable-text-color: var(--gray-700);
  --pagination-clickable-background-color: var(--color-white);
  --pagination-clickable-border-color: var(--gray-200);
  /* Clickable Buttons Hover */
  --pagination-clickable-text-color-hover: var(--gray-900);
  --pagination-clickable-background-color-hover: var(--brand-50);
  --pagination-clickable-border-color-hover: var(--brand-300);
  /* Active Button */
  --pagination-active-text-color: var(--color-white);
  --pagination-active-background-color: var(--brand-600);
  --pagination-active-border-color: var(--brand-600);
  /* Next Prev Buttons */
  --pagination-net-prev-padding: calc(var(--pagination-button-padding-horizontal) + 5px);
  /* //////////////////////////
   /// Header Settings /////////
   ///////////////////////////*/
  --header-position: relative;
  --header-background-color: var(--color-white);
  --mobile-menu-background-color: var(--color-white);
  /* Sizing + Spacing */
  --header-height: 100px;
  --header-vertical-padding: var(--spacing-4xl);
  --header-menu-item-spacing: var(--spacing-4xl);
  --header-logo-max-width: 65%;
  /* Fonts + Text */
  --submenu-item-spacing: var(--inner-spacing-md);
  --header-font-size: var(--body-md-font-size);
  --header-font-family: var(--body-font-family);
  --header-font-weight: var(--font-weight-medium);
  /* Link Styling */
  --header-text-decoration: none;
  --header-nav-link-color: var(--gray-700);
  --header-nav-link-color-hover: var(--brand-600);
  --header-nav-link-underline-color: var(--brand-600);
  --header-nav-link-underline-color-hover: var(--brand-500);
  --header-nav-link-underline-height: var(--line-thickness);
  --header-nav-link-underline-height-hover: calc(var(--line-thickness) * 2);
  --header-nav-active-link-color: var(--brand-700);
  --header-nav-active-link-underline-color: var(--brand-700);
  /* Search */
  --header-search-background-color: var(--brand-700);
  --header-search-text-color: var(--color-white);
  --header-search-button-text-color: var(--brand-700);
  --header-search-button-background-color: var(--color-white);
  /* //////////////////////////
  //// Footer Settings ////
  /////////////////////////*/
  --footer-vertical-spacing-top: 60px;
  --footer-vertical-spacing-bottom: var(--content-vertical-padding-less);
  --footer-tile-width: calc(25% - var(--inner-spacing-sm));
  --footer-tile-padding-horizontal: var(--inner-spacing-md);
  --footer-tile-margin-bottom: 0px;
  /* Tile Text */
  --footer-font-size: var(--body-md-font-size);
  --footer-font-weight: var(--font-weight-regular);
  --footer-background-color: white;
  --footer-text-color: var(--gray-600);
  --footer-text-color-hover: var(--brand-700);
  /* Tile Title */
  --footer-tile-title-font-family: var(--heading-font-family);
  --footer-tile-title-font-size: var(--heading-sm-font-size);
  --footer-tile-title-font-weight: var(--font-weight-semibold);
  --footer-tile-title-margin-bottom: var(--inner-spacing-sm);
  /* Footer Links */
  --footer-text-decoration-style: none;
  --footer-link-underline-color: var(--brand-400);
  --footer-link-underline-color-hover: var(--brand-300);
  --footer-link-underline-height: var(--line-thickness);
  --footer-link-underline-height-hover: calc(var(--line-thickness) * 2);
  /* Logo Tile */
  --footer-logo-max-width: 221px;
  /* Site Nav Tile */
  --footer-nav-links-vertical-spacing: 12px;
  /* Contact Tile */
  --footer-contact-links-vertical-spacing: var(--inner-spacing-sm);
  /* Social Tile */
  --social-icon-font-size: 36px;
  --social-icon-horizontal-spacing: var(--inner-spacing-sm);
  /* Copyright Footer */
  --copyright-font-size: var(--body-sm-font-size);
  /* Footer New Layout */
  --footer-tagline-font-size: var(--heading-lg-font-size);
  --footer-tagline-font-weight: var(--font-weight-semibold);
  --footer-col-title-font-size: var(--body-md-font-size);
  --footer-col-title-font-weight: var(--font-weight-semibold);
  --footer-divider-color: rgba(255, 255, 255, 0.12);
  --footer-contact-card-bg: var(--gray-800);
  --footer-contact-card-border-radius: var(--border-radius-xl);
  --footer-contact-card-padding: var(--inner-spacing-md);
  --footer-contact-card-phone-color: var(--brand-400);
  /* //////////////////////////
  //// Modal Settings ////
  /////////////////////////*/
  --modal-max-width: 640px;
  --modal-vert-padding: var(--inner-spacing-xl);
  --modal-horiz-padding: var(--inner-spacing-xl);
  --modal-background-color: var(--color-white);
  --modal-text-color: var(--gray-900);
  --modal-headline-font-family: var(--heading-font-family);
  --modal-headline-font-size: var(--heading-md-font-size);
  --modal-headline-line-height: var(--heading-md-line-height);
  --modal-headline-font-weight: var(--heading-font-weight);
  --modal-border-radius: var(--border-radius-xl);
  --modal-close-size: calc((var(--modal-vert-padding) + var(--modal-horiz-padding)) / 4);
  --modal-close-top: calc(var(--modal-vert-padding) / 2);
  --modal-close-right: calc(var(--modal-horiz-padding) / 2);
  /* //////////////////////////////
  ///////// Card Settings ////////
  ///////////////////////////// */
  --card-text: var(--gray-900);
  --card-background: var(--color-white);
  --card-text-alt: var(--gray-900);
  --card-background-alt: var(--gray-50);
  /* //////////////////////////////
  //// WP Standard Settings ///
  ///////////////////////////// */
  --wp-post-block-padding: var(--inner-spacing-lg);
}

@media screen and (max-width: 1024px) {
  :root {
    --header-vertical-padding: 25px;
    --header-height: 90px;
    --header-menu-item-spacing: var(--inner-spacing-md);
    --heading-xxl-font-size: 60px;
    --heading-xl-font-size: 48px;
    --heading-lg-font-size: 36px;
    --heading-md-font-size: 30px;
    --heading-sm-font-size: 24px;
    --heading-xs-font-size: 20px;
    --footer-tile-width: calc(50% - var(--inner-spacing-sm));
    --footer-tile-margin-bottom: var(--inner-spacing-md);
    --footer-tile-title-margin-bottom: var(--inner-spacing-xs);
  }
}
@media screen and (max-width: 885px) {
  :root {
    --content-horizontal-padding: 25px;
    --content-vertical-padding-normal: 64px;
    --content-vertical-padding-more: 96px;
    --content-vertical-padding-less: 32px;
    /* Border Radius */
    --border-radius-lg: 10px;
    --border-radius-xl: 12px;
    --body-default-font-size: var(--body-sm-font-size);
    --header-font-size: var(--body-lg-font-size);
    /* Logo Sizing */
    --header-logo-max-width: 45%;
    /* Headline Sizing */
    --heading-xxl-font-size: 48px;
    --heading-xl-font-size: 36px;
    --heading-lg-font-size: 30px;
    --heading-md-font-size: 24px;
    --heading-sm-font-size: 20px;
    --heading-xs-font-size: 20px;
    --footer-tile-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  :root {
    /* Border Radius — flatten the largest radii on mobile */
    --border-radius-5xl: 24px;
    --border-radius-6xl: 24px;
    --modal-close-size: 30px;
    --modal-vert-padding: 60px;
    --modal-horiz-padding: 40px;
    --eyebrow-font-size: 14px;
    --body-lg-font-size: 16px;
  }
}