/* Settings */

/*
 * Static CSS variable defaults for local development.
 *
 * The local dev server cannot process HubL, so CSS variables set via
 * HubL theme expressions in .hubl.css files are never resolved.
 * This file provides hardcoded fallbacks matching fields.json defaults.
 *
 * On the CMS, the HubL-generated :root declarations come AFTER this file
 * and override these values with the actual theme settings.
 *
 * Keep this file in sync with fields.json defaults when changing theme settings.
 */

:root {

  /* ========================================
     COLORS
     ======================================== */

  /* Semantic Color Roles */
  --hsElevate--color-role--primary: #342775;
  --hsElevate--color-role--secondary: #FFB600;
  --hsElevate--color-role--accent1: #4B48B7;
  --hsElevate--color-role--accent2: #A69EEF;
  --hsElevate--color-role--lightBackground: #F1F1F8;
  --hsElevate--color-role--lightBackgroundAlt: #E5E5F2;
  --hsElevate--color-role--darkBackground: #10001F;
  --hsElevate--color-role--darkBackgroundAlt: #18003A;
  --hsElevate--color-role--lightText: #FFFFFF;
  --hsElevate--color-role--darkText: #10001F;
  --hsElevate--color-role--border: #4B48B7;

  /* Light mode (inherits from color roles) */
  --hsElevate--color--light--background: #FFFFFF;
  --hsElevate--color--light--foreground: #000000;

  /* Dark mode (inherits from color roles) */
  --hsElevate--color--dark--background: #000000;
  --hsElevate--color--dark--foreground: #FFFFFF;

  /* Theme colors (inherits from color roles) */
  --hsElevate--color--theme--primary: #2563EB;
  --hsElevate--color--theme--secondary: #60A5FA;
  --hsElevate--color--theme--accent: #7C3AED;
  --hsElevate--color--theme--surface: #F5F5F5;

  /* Status */
  --hsElevate--color--status--success: #65C728;
  --hsElevate--color--status--error: #E31A1A;

  /* ========================================
     SECTION COLORS (fallbacks for local dev — HubL _section-colors sets these on CMS)
     ======================================== */

  /* Light section 1 */
  --hsElevate--section--lightSection--1__backgroundColor: #F1F1F8;
  --hsElevate--section--lightSection--1__textColor: #10001F;
  --hsElevate--section--lightSection--1__headingColor: #10001F;
  --hsElevate--section--lightSection--1__bodyColor: #10001F;
  --hsElevate--section--lightSection--1__accentColor: #342775;
  --hsElevate--section--lightSection--1__captionColor: #10001F;

  /* Dark section 1 */
  --hsElevate--section--darkSection--1__backgroundColor: #10001F;
  --hsElevate--section--darkSection--1__textColor: #FFFFFF;
  --hsElevate--section--darkSection--1__headingColor: #FFFFFF;
  --hsElevate--section--darkSection--1__bodyColor: #FFFFFF;
  --hsElevate--section--darkSection--1__accentColor: #FFB600;
  --hsElevate--section--darkSection--1__captionColor: #FFFFFF;

  /* ========================================
     BODY COLOR MODE (defaults to light)
     ======================================== */
  --hsElevate--body__backgroundColor: #FFFFFF;
  --hsElevate--body__textColor: #525252;
  --hsElevate--body__headingColor: #000000;

  /* ========================================
     TYPOGRAPHY
     ======================================== */

  /* Typography colors */
  --hsElevate--typography__headings-color: #000000;
  --hsElevate--typography__body-color: #525252;
  --hsElevate--typography__headings-color--dark: #FFFFFF;
  --hsElevate--typography__body-color--dark: #FFFFFF;

  /* Body - Desktop defaults
   * Body LG = 18px/29px, Body MD = 16px/26px, Body SM = 14px/20px
   */
  --hsElevate--baseText__fontSize: 16px;
  --hsElevate--body__font: "DM Sans", sans-serif;
  --hsElevate--body--small__fontSize: 0.875rem;
  --hsElevate--body--small__lineHeight: 20px;
  --hsElevate--body--medium__fontSize: 1rem;
  --hsElevate--body--medium__lineHeight: 26px;
  --hsElevate--body__fontSize: 1.125rem;
  --hsElevate--body--large__fontSize: 1.125rem;
  --hsElevate--body--large__lineHeight: 29px;
  --hsElevate--body__fontWeight: 400;
  --hsElevate--body__fontStyle: normal;
  --hsElevate--body__lineHeight: 29px;

  /* Display - Desktop */
  --hsElevate--display__font: "DM Sans", sans-serif;
  --hsElevate--display__fontSize: 4.5rem; /* 72px */
  --hsElevate--display__fontWeight: 400;
  --hsElevate--display__fontStyle: normal;
  --hsElevate--display__lineHeight: 72px;
  --hsElevate--display__letterSpacing: 0em;
  --hsElevate--display__marginBottom: 32px;

  /* Headings - Desktop */
  --hsElevate--h1__font: "DM Sans", sans-serif;
  --hsElevate--h1__fontSize: 3rem;
  --hsElevate--h1__fontWeight: 400;
  --hsElevate--h1__fontStyle: normal;
  --hsElevate--h1__lineHeight: 56px;
  --hsElevate--h1__letterSpacing: -0.02em;

  --hsElevate--h2__font: "DM Sans", sans-serif;
  --hsElevate--h2__fontSize: 2.25rem;
  --hsElevate--h2__fontWeight: 400;
  --hsElevate--h2__fontStyle: normal;
  --hsElevate--h2__lineHeight: 44px;
  --hsElevate--h2__letterSpacing: -0.02em;

  --hsElevate--h3__font: "DM Sans", sans-serif;
  --hsElevate--h3__fontSize: 1.75rem;
  --hsElevate--h3__fontWeight: 400;
  --hsElevate--h3__fontStyle: normal;
  --hsElevate--h3__lineHeight: 36px;
  --hsElevate--h3__letterSpacing: -0.01em;

  --hsElevate--h4__font: "DM Sans", sans-serif;
  --hsElevate--h4__fontSize: 1.375rem;
  --hsElevate--h4__fontWeight: 400;
  --hsElevate--h4__fontStyle: normal;
  --hsElevate--h4__lineHeight: 30px;
  --hsElevate--h4__letterSpacing: 0em;

  --hsElevate--h5__font: "DM Sans", sans-serif;
  --hsElevate--h5__fontSize: 1.125rem;
  --hsElevate--h5__fontWeight: 400;
  --hsElevate--h5__fontStyle: normal;
  --hsElevate--h5__lineHeight: 26px;
  --hsElevate--h5__letterSpacing: 0em;

  --hsElevate--h6__font: "DM Sans", sans-serif;
  --hsElevate--h6__fontSize: 1rem;
  --hsElevate--h6__fontWeight: 400;
  --hsElevate--h6__fontStyle: normal;
  --hsElevate--h6__lineHeight: 24px;
  --hsElevate--h6__letterSpacing: 0em;

  /* Heading Margin Bottom - Desktop */
  --hsElevate--h1__marginBottom: 32px;
  --hsElevate--h2__marginBottom: 28px;
  --hsElevate--h3__marginBottom: 24px;
  --hsElevate--h4__marginBottom: 20px;
  --hsElevate--h5__marginBottom: 16px;
  --hsElevate--h6__marginBottom: 12px;


  /* Heading tablet modifier */

  /* Links - Primary */
  --hsElevate--link--primary__fontColor: #2B7FFF;
  --hsElevate--link--primary__textDecorationColor: #2B7FFF;
  --hsElevate--link--primary__hover--fontColor: #2B7FFF;
  --hsElevate--link--primary__hover--textDecorationColor: #2B7FFF;

  /* Links - Secondary */
  --hsElevate--link--secondary__fontColor: #000000;
  --hsElevate--link--secondary__hover--fontColor: #2B7FFF;
  --hsElevate--link--secondary__hover--textDecorationColor: #2B7FFF;

  /* Navigation - Main Links */
  --hsElevate--navigation__font: "DM Sans", sans-serif;
  --hsElevate--navigation__fontSize--mobile: 0.8125rem;
  --hsElevate--navigation__fontWeight--mobile: 500;
  --hsElevate--navigation__fontStyle--mobile: normal;
  --hsElevate--navigation__fontSize--sm: 0.8125rem;
  --hsElevate--navigation__fontWeight--sm: 500;
  --hsElevate--navigation__fontStyle--sm: normal;
  --hsElevate--navigation__fontSize--md: 0.875rem;
  --hsElevate--navigation__fontWeight--md: 500;
  --hsElevate--navigation__fontStyle--md: normal;
  --hsElevate--navigation__fontSize--lg: 0.875rem;
  --hsElevate--navigation__fontWeight--lg: 500;
  --hsElevate--navigation__fontStyle--lg: normal;
  --hsElevate--navigation__fontSize--xl: 0.9375rem;
  --hsElevate--navigation__fontWeight--xl: 500;
  --hsElevate--navigation__fontStyle--xl: normal;
  --hsElevate--navigation__fontSize--2xl: 0.9375rem;
  --hsElevate--navigation__fontWeight--2xl: 500;
  --hsElevate--navigation__fontStyle--2xl: normal;

  /* Navigation - Dropdown Links */
  --hsElevate--navigationDropdown__font: "DM Sans", sans-serif;
  --hsElevate--navigationDropdown__fontSize--mobile: 0.8125rem;
  --hsElevate--navigationDropdown__fontWeight--mobile: 400;
  --hsElevate--navigationDropdown__fontStyle--mobile: normal;
  --hsElevate--navigationDropdown__fontSize--sm: 0.8125rem;
  --hsElevate--navigationDropdown__fontWeight--sm: 400;
  --hsElevate--navigationDropdown__fontStyle--sm: normal;
  --hsElevate--navigationDropdown__fontSize--md: 0.875rem;
  --hsElevate--navigationDropdown__fontWeight--md: 400;
  --hsElevate--navigationDropdown__fontStyle--md: normal;
  --hsElevate--navigationDropdown__fontSize--lg: 0.875rem;
  --hsElevate--navigationDropdown__fontWeight--lg: 400;
  --hsElevate--navigationDropdown__fontStyle--lg: normal;
  --hsElevate--navigationDropdown__fontSize--xl: 0.9375rem;
  --hsElevate--navigationDropdown__fontWeight--xl: 400;
  --hsElevate--navigationDropdown__fontStyle--xl: normal;
  --hsElevate--navigationDropdown__fontSize--2xl: 0.9375rem;
  --hsElevate--navigationDropdown__fontWeight--2xl: 400;
  --hsElevate--navigationDropdown__fontStyle--2xl: normal;

  /* Navigation - Link Spacing (default) */

  /* Quotes */
  --hsElevate--quotes__font: "DM Sans", sans-serif;
  --hsElevate--quotes__fontColor: #000000;
  --hsElevate--quotes__fontSize: 1.25rem;
  --hsElevate--quotes__fontWeight: 400;
  --hsElevate--quotes__fontStyle: italic;

  /* Captions */
  --hsElevate--captions__font: "DM Sans", sans-serif;
  --hsElevate--captions__fontSize: 0.75rem;
  --hsElevate--captions__fontWeight: 400;
  --hsElevate--captions__fontStyle: normal;
  --hsElevate--captions__case: uppercase;

  /* Eyebrow - Desktop */
  --hsElevate--eyebrow__fontSize: 1rem; /* 16px */
  --hsElevate--eyebrow__lineHeight: 22px;
  --hsElevate--eyebrow__fontWeight: 500;
  --hsElevate--eyebrow__letterSpacing: 0.05em;
  --hsElevate--eyebrow__textTransform: uppercase;
  --hsElevate--eyebrow__marginBottom: 12px;

  /* Eyebrow colors */
  --hsElevate--eyebrow__color--light: #10001f;
  --hsElevate--eyebrow__color--dark: #a69eef;
  --hsElevate--eyebrow__color: #10001f;

  /* Body LG margin - Desktop */
  --hsElevate--body--large__marginBottom: 0;

  /* Body MD margin - Desktop */
  --hsElevate--body--medium__marginBottom: 16px;

  /* Body SM margin - Desktop */
  --hsElevate--body--small__marginBottom: 12px;

  /* Label L - Desktop */
  --hsElevate--label--large__fontSize: 1.0625rem; /* 17px */
  --hsElevate--label--large__lineHeight: 24px;
  --hsElevate--label--large__marginBottom: 8px;

  /* Label M - Desktop */
  --hsElevate--label--medium__fontSize: 0.9375rem; /* 15px */
  --hsElevate--label--medium__lineHeight: 21px;
  --hsElevate--label--medium__marginBottom: 6px;

  /* Label S - Desktop */
  --hsElevate--label--small__fontSize: 0.875rem; /* 14px */
  --hsElevate--label--small__lineHeight: 20px;
  --hsElevate--label--small__marginBottom: 4px;

  /* Stat - Desktop */
  --hsElevate--stat__fontSize: 8rem; /* 128px */
  --hsElevate--stat__lineHeight: 128px;
  --hsElevate--stat__fontWeight: 200;
  --hsElevate--stat__fontStyle: normal;
  --hsElevate--stat__letterSpacing: 0em;
  --hsElevate--stat__marginBottom: 8px;

  /* Stat colors */
  --hsElevate--stat__color--light: #A69EEF;
  --hsElevate--stat__color--dark: #a69eef;

  /* CTA - Desktop */
  --hsElevate--cta__fontSize: 1.25rem; /* 20px */
  --hsElevate--cta__lineHeight: 28px;
  --hsElevate--cta__fontWeight: 600;
  --hsElevate--cta__fontStyle: normal;
  --hsElevate--cta__letterSpacing: 0.01em;
  --hsElevate--cta__textTransform: uppercase;
  --hsElevate--cta__marginBottom: 12px;

  /* Tag - Desktop */
  --hsElevate--tag__fontSize: 0.75rem; /* 12px */
  --hsElevate--tag__lineHeight: 16px;
  --hsElevate--tag__fontWeight: 500;
  --hsElevate--tag__fontStyle: normal;
  --hsElevate--tag__letterSpacing: 0.05em;
  --hsElevate--tag__textTransform: uppercase;
  --hsElevate--tag__marginBottom: 4px;

  /* Foundational Border Radius Scale */
  --hsElevate--radius--extra-small: 2px;
  --hsElevate--radius--small: 4px;
  --hsElevate--radius--medium: 6px;
  --hsElevate--radius--large: 6px;

  /* Images */

  /* ========================================
     BUTTON SIZING
     ======================================== */

  --hsElevate--button__height: 48px;
  --hsElevate--button__paddingHorizontal: 24px;

  /* ========================================
     BUTTON VARIANTS
     ======================================== */

  /* Primary button — filled, dark-blue bg, white text */
  --hsElevate--button--primary__buttonFill: filled;
  --hsElevate--button--primary__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--primary__fontSize: 1rem;
  --hsElevate--button--primary__fontWeight: 500;
  --hsElevate--button--primary__textColor: #FFFFFF;
  --hsElevate--button--primary__hover--textColor: #090C2F;
  --hsElevate--button--primary__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--primary__backgroundColor: #090C2F;
  --hsElevate--button--primary__hover--backgroundColor: #BCD6F1;
  --hsElevate--button--primary__borderThickness: 0px;
  --hsElevate--button--primary__hover--borderThickness: 0px;

  /* Secondary button — filled, light-blue bg, dark-blue text */
  --hsElevate--button--secondary__buttonFill: filled;
  --hsElevate--button--secondary__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--secondary__fontSize: 1rem;
  --hsElevate--button--secondary__fontWeight: 500;
  --hsElevate--button--secondary__textColor: #090C2F;
  --hsElevate--button--secondary__hover--textColor: #090C2F;
  --hsElevate--button--secondary__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--secondary__backgroundColor: #BCD6F1;
  --hsElevate--button--secondary__hover--backgroundColor: #BCD6F1;
  --hsElevate--button--secondary__borderThickness: 0px;
  --hsElevate--button--secondary__hover--borderThickness: 0px;

  /* Primary outline button — no fill, dark-blue border + text */
  --hsElevate--button--primary-outline__buttonFill: no_fill;
  --hsElevate--button--primary-outline__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--primary-outline__fontSize: 1rem;
  --hsElevate--button--primary-outline__fontWeight: 500;
  --hsElevate--button--primary-outline__textColor: #090C2F;
  --hsElevate--button--primary-outline__hover--textColor: #FFFFFF;
  --hsElevate--button--primary-outline__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--primary-outline__hover--backgroundColor: #090C2F;
  --hsElevate--button--primary-outline__borderThickness: 2px;
  --hsElevate--button--primary-outline__hover--borderThickness: 2px;
  --hsElevate--button--primary-outline__borderColor: #090C2F;
  --hsElevate--button--primary-outline__hover--borderColor: #090C2F;

  /* Secondary outline button — no fill, light-blue border + text */
  --hsElevate--button--secondary-outline__buttonFill: no_fill;
  --hsElevate--button--secondary-outline__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--secondary-outline__fontSize: 1rem;
  --hsElevate--button--secondary-outline__fontWeight: 500;
  --hsElevate--button--secondary-outline__textColor: #BCD6F1;
  --hsElevate--button--secondary-outline__hover--textColor: #090C2F;
  --hsElevate--button--secondary-outline__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--secondary-outline__hover--backgroundColor: #BCD6F1;
  --hsElevate--button--secondary-outline__borderThickness: 2px;
  --hsElevate--button--secondary-outline__hover--borderThickness: 2px;
  --hsElevate--button--secondary-outline__borderColor: #BCD6F1;
  --hsElevate--button--secondary-outline__hover--borderColor: #BCD6F1;

  /* Dark primary button — filled white bg, dark-blue text (for dark backgrounds) */
  --hsElevate--button--dark-primary__buttonFill: filled;
  --hsElevate--button--dark-primary__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--dark-primary__fontSize: 1rem;
  --hsElevate--button--dark-primary__fontWeight: 500;
  --hsElevate--button--dark-primary__textColor: #090C2F;
  --hsElevate--button--dark-primary__hover--textColor: #090C2F;
  --hsElevate--button--dark-primary__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--dark-primary__backgroundColor: #FFFFFF;
  --hsElevate--button--dark-primary__hover--backgroundColor: #BCD6F1;
  --hsElevate--button--dark-primary__borderThickness: 0px;
  --hsElevate--button--dark-primary__hover--borderThickness: 0px;

  /* Dark primary outline button — no fill, white border + text (for dark backgrounds) */
  --hsElevate--button--dark-primary-outline__buttonFill: no_fill;
  --hsElevate--button--dark-primary-outline__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--dark-primary-outline__fontSize: 1rem;
  --hsElevate--button--dark-primary-outline__fontWeight: 500;
  --hsElevate--button--dark-primary-outline__textColor: #FFFFFF;
  --hsElevate--button--dark-primary-outline__hover--textColor: #090C2F;
  --hsElevate--button--dark-primary-outline__borderRadius: var(--hsElevate--radius--small);
  --hsElevate--button--dark-primary-outline__hover--backgroundColor: #FFFFFF;
  --hsElevate--button--dark-primary-outline__borderThickness: 2px;
  --hsElevate--button--dark-primary-outline__hover--borderThickness: 2px;
  --hsElevate--button--dark-primary-outline__borderColor: #FFFFFF;
  --hsElevate--button--dark-primary-outline__hover--borderColor: #FFFFFF;

  /* Link button — font defaults (body_sm) */
  --hsElevate--button--link__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--link__fontSize: 0.875rem;
  --hsElevate--button--link__fontWeight: 400;

  /* Dark link button — font defaults (body_sm) */
  --hsElevate--button--dark-link__fontFamily: "DM Sans", sans-serif;
  --hsElevate--button--dark-link__fontSize: 0.875rem;
  --hsElevate--button--dark-link__fontWeight: 400;

  /* Surface button — filled #FAFAFA bg, dark text, no border (surface/muted style) */
  --hsElevate--button--surface__backgroundColor: #FAFAFA;
  --hsElevate--button--surface__hover--backgroundColor: #F0F0F0;
  --hsElevate--button--surface__active--backgroundColor: #E8E8E8;
  --hsElevate--button--surface__textColor: #090C2F;
  --hsElevate--button--surface__hover--textColor: #090C2F;
  --hsElevate--button--surface__active--textColor: #090C2F;
  --hsElevate--button--surface__borderThickness: 0px;
  --hsElevate--button--surface__hover--borderThickness: 0px;
  --hsElevate--button--surface__active--borderThickness: 0px;
  --hsElevate--button--surface__borderColor: transparent;
  --hsElevate--button--surface__hover--borderColor: transparent;
  --hsElevate--button--surface__active--borderColor: transparent;
  --hsElevate--button--surface__borderRadius: 50px;

  /* ========================================
     ICONS
     ======================================== */

  /* Icon sizes - Desktop */
  --hsElevate--icon--display__size: 56px;
  --hsElevate--icon--display__padding: 18px;
  --hsElevate--icon--display__margin: 22px;
  --hsElevate--icon--display__borderRadius: 18px;
  --hsElevate--icon--heading1__size: 48px;
  --hsElevate--icon--heading1__padding: 16px;
  --hsElevate--icon--heading1__margin: 20px;
  --hsElevate--icon--heading1__borderRadius: 16px;
  --hsElevate--icon--heading2__size: 40px;
  --hsElevate--icon--heading2__padding: 14px;
  --hsElevate--icon--heading2__margin: 18px;
  --hsElevate--icon--heading2__borderRadius: 14px;
  --hsElevate--icon--heading3__size: 32px;
  --hsElevate--icon--heading3__padding: 12px;
  --hsElevate--icon--heading3__margin: 16px;
  --hsElevate--icon--heading3__borderRadius: 12px;
  --hsElevate--icon--heading4__size: 24px;
  --hsElevate--icon--heading4__padding: 10px;
  --hsElevate--icon--heading4__margin: 14px;
  --hsElevate--icon--heading4__borderRadius: 10px;
  --hsElevate--icon--heading5__size: 20px;
  --hsElevate--icon--heading5__padding: 8px;
  --hsElevate--icon--heading5__margin: 12px;
  --hsElevate--icon--heading5__borderRadius: 8px;
  --hsElevate--icon--heading6__size: 16px;
  --hsElevate--icon--heading6__padding: 6px;
  --hsElevate--icon--heading6__margin: 10px;
  --hsElevate--icon--heading6__borderRadius: 6px;

  /* Icon sizes - Eyebrow & Body text - Desktop */
  --hsElevate--icon--eyebrow__size: 20px;
  --hsElevate--icon--eyebrow__padding: 10px;
  --hsElevate--icon--eyebrow__margin: 8px;
  --hsElevate--icon--eyebrow__borderRadius: 10px;
  --hsElevate--icon--bodyLg__size: 18px;
  --hsElevate--icon--bodyLg__padding: 6px;
  --hsElevate--icon--bodyLg__margin: 10px;
  --hsElevate--icon--bodyLg__borderRadius: 8px;
  --hsElevate--icon--bodyMd__size: 16px;
  --hsElevate--icon--bodyMd__padding: 4px;
  --hsElevate--icon--bodyMd__margin: 8px;
  --hsElevate--icon--bodyMd__borderRadius: 6px;
  --hsElevate--icon--bodySm__size: 14px;
  --hsElevate--icon--bodySm__padding: 4px;
  --hsElevate--icon--bodySm__margin: 8px;
  --hsElevate--icon--bodySm__borderRadius: 6px;

  /* Icon sizes - List text - Desktop */
  --hsElevate--icon--listLg__size: 18px;
  --hsElevate--icon--listLg__padding: 6px;
  --hsElevate--icon--listLg__margin: 10px;
  --hsElevate--icon--listLg__borderRadius: 8px;
  --hsElevate--icon--listMd__size: 16px;
  --hsElevate--icon--listMd__padding: 4px;
  --hsElevate--icon--listMd__margin: 8px;
  --hsElevate--icon--listMd__borderRadius: 6px;
  --hsElevate--icon--listSm__size: 14px;
  --hsElevate--icon--listSm__padding: 4px;
  --hsElevate--icon--listSm__margin: 8px;
  --hsElevate--icon--listSm__borderRadius: 6px;

  /* Material Symbols fill (default: outlined) */

  /* Icon style — Primary (primary bg, light text icon) */
  --hsElevate--icon--primary__color: #FFFFFF;
  --hsElevate--icon--primary__backgroundColor: #2563EB;

  /* Icon style — Primary Light (secondary bg, dark text icon) */
  --hsElevate--icon--primaryLight__color: #000000;
  --hsElevate--icon--primaryLight__backgroundColor: #60A5FA;

  /* Icon style — Secondary (accent 1 bg, light text icon) */
  --hsElevate--icon--secondary__color: #FFFFFF;
  --hsElevate--icon--secondary__backgroundColor: #7C3AED;

  /* Icon style — Surface (light bg, dark text icon) */
  --hsElevate--icon--surface__color: #000000;
  --hsElevate--icon--surface__backgroundColor: #FFFFFF;

  /* Icon style — Highlight (accent 2 bg, dark text icon) */
  --hsElevate--icon--highlight__color: #000000;
  --hsElevate--icon--highlight__backgroundColor: #A78BFA;

  /* ========================================
     LAYOUT
     ======================================== */

  /* Content gap tokens — fixed pixel gaps for content-gap-* utilities */

  --hsElevate--contentWrapper--narrow__maxWidth: 768px;
  --hsElevate--contentWrapper--compact__maxWidth: 830px;
  --hsElevate--contentWrapper--medium__maxWidth: 1120px;
  --hsElevate--contentWrapper--wide__maxWidth: 1680px;
  --hsElevate--contentWrapper--full__maxWidth: 1920px;

  /* Module content max widths (breakpoint-aligned) - defaults */
  --hsElevate--contentMaxWidth--sm: 640px;
  --hsElevate--contentMaxWidth--sm-md: 704px;
  --hsElevate--contentMaxWidth--md: 768px;
  --hsElevate--contentMaxWidth--md-lg: 896px;
  --hsElevate--contentMaxWidth--lg: 1024px;
  --hsElevate--contentMaxWidth--lg-xl: 1152px;
  --hsElevate--contentMaxWidth--xl: 1280px;
  --hsElevate--contentMaxWidth--xl-2xl: 1408px;
  --hsElevate--contentMaxWidth--2xl: 1536px;

  /* Button min widths - defaults */
  --hsElevate--buttonMinWidth--small: 200px;
  --hsElevate--buttonMinWidth--medium: 248px;
  --hsElevate--buttonMinWidth--large: 292px;

  /* Section vertical padding - desktop defaults */
  --hsElevate--section--extraSmall__verticalPadding: 72px;
  --hsElevate--section--small__verticalPadding: 80px;
  --hsElevate--section--medium__verticalPadding: 96px;
  --hsElevate--section--large__verticalPadding: 112px;
  --hsElevate--section--extraLarge__verticalPadding: 128px;

  /* Section horizontal padding (gutter) - desktop default */
  --hsElevate--section--horizontalPadding: 120px;

  /* Spacer gap scale - desktop defaults */
  --hsElevate--spacer--xs: 12px;
  --hsElevate--spacer--sm: 24px;
  --hsElevate--spacer--md: 32px;
  --hsElevate--spacer--lg: 48px;
  --hsElevate--spacer--xl: 72px;

  --hsElevate--gap--extraSmall: 16px;
  --hsElevate--gap--small: 24px;
  --hsElevate--gap--medium: 32px;
  --hsElevate--gap--large: 64px;
  --hsElevate--gap--extraLarge: 96px;

  --hsElevate--spacing--4: 4px;
  --hsElevate--spacing--8: 8px;
  --hsElevate--spacing--12: 12px;
  --hsElevate--spacing--16: 16px;
  --hsElevate--spacing--20: 20px;
  --hsElevate--spacing--24: 24px;
  --hsElevate--spacing--32: 32px;
  --hsElevate--spacing--40: 40px;
  --hsElevate--spacing--48: 48px;
  --hsElevate--spacing--56: 56px;
  --hsElevate--spacing--64: 64px;
  --hsElevate--spacing--72: 72px;
  --hsElevate--spacing--80: 80px;
  --hsElevate--spacing--88: 88px;
  --hsElevate--spacing--96: 96px;
  --hsElevate--spacing--104: 104px;
  --hsElevate--spacing--112: 112px;
  --hsElevate--spacing--120: 120px;
  --hsElevate--spacing--128: 128px;
  --hsElevate--spacing--136: 136px;
  --hsElevate--spacing--144: 144px;
  --hsElevate--spacing--152: 152px;
  --hsElevate--spacing--160: 160px;
  --hsElevate--spacing--168: 168px;
  --hsElevate--spacing--176: 176px;
  --hsElevate--spacing--184: 184px;
  --hsElevate--spacing--192: 192px;

  /* Row Gaps - Desktop defaults (tablet: 16/20/32, mobile: 12/16/24) */
  --hsElevate--rowGap--small: 16px;
  --hsElevate--rowGap--medium: 24px;
  --hsElevate--rowGap--large: 40px;

  /* Grids */
  --default-section-padding: var(--hsElevate--section--medium__verticalPadding) var(--hsElevate--section--horizontalPadding);

  /* Text spacing */
}

/* Tablet overrides (768px to 1024px) */

@media (max-width: 1024px) {
  :root {
    /* Section vertical padding - tablet */
    --hsElevate--section--extraSmall__verticalPadding: 36px;
    --hsElevate--section--small__verticalPadding: 72px;
    --hsElevate--section--medium__verticalPadding: 48px;
    --hsElevate--section--large__verticalPadding: 80px;
    --hsElevate--section--extraLarge__verticalPadding: 96px;

    /* Section horizontal padding (gutter) - tablet */
    --hsElevate--section--horizontalPadding: 24px;

    /* Spacer gap scale - tablet */
    --hsElevate--spacer--xs: 8px;
    --hsElevate--spacer--sm: 16px;
    --hsElevate--spacer--md: 24px;
    --hsElevate--spacer--lg: 32px;
    --hsElevate--spacer--xl: 48px;

    /* Row Gaps - tablet */
    --hsElevate--rowGap--small: 16px;
    --hsElevate--rowGap--medium: 20px;
    --hsElevate--rowGap--large: 32px;

    /* Content gap tokens — tablet */
    --hsElevate--contentGap--sm: 16px;
    --hsElevate--contentGap--md: 32px;
    --hsElevate--contentGap--lg: 60px;

    /* Body - Tablet: LG 18/29, MD 14/22, SM 12/17 */
    --hsElevate--body--small__fontSize: 0.75rem;
    --hsElevate--body--small__lineHeight: 17px;
    --hsElevate--body--medium__fontSize: 0.875rem;
    --hsElevate--body--medium__lineHeight: 22px;
    --hsElevate--body__fontSize: 1.125rem;
    --hsElevate--body--large__fontSize: 1.125rem;
    --hsElevate--body--large__lineHeight: 29px;
    --hsElevate--body__lineHeight: 29px;

    /* Display - Tablet */
    --hsElevate--display__fontSize: 4.5rem; /* 72px */
    --hsElevate--display__lineHeight: 72px;
    --hsElevate--display__marginBottom: 28px;

    /* Eyebrow - Tablet */
    --hsElevate--eyebrow__fontSize: 0.875rem; /* 14px */
    --hsElevate--eyebrow__lineHeight: 20px;
    --hsElevate--eyebrow__fontWeight: 500;
    --hsElevate--eyebrow__letterSpacing: 0.05em;
    --hsElevate--eyebrow__marginBottom: 10px;

    /* Body LG margin - Tablet */
    --hsElevate--body--large__marginBottom: 0;

    /* Body MD margin - Tablet */
    --hsElevate--body--medium__marginBottom: 14px;

    /* Body SM margin - Tablet */
    --hsElevate--body--small__marginBottom: 10px;

    /* Label L - Tablet */
    --hsElevate--label--large__fontSize: 1rem; /* 16px */
    --hsElevate--label--large__lineHeight: 22px;
    --hsElevate--label--large__marginBottom: 6px;

    /* Label M - Tablet */
    --hsElevate--label--medium__lineHeight: 21px;
    --hsElevate--label--medium__marginBottom: 6px;

    /* Label S - Tablet */
    --hsElevate--label--small__fontSize: 0.75rem; /* 12px */
    --hsElevate--label--small__lineHeight: 17px;
    --hsElevate--label--small__marginBottom: 4px;

    /* Stat - Tablet */
    --hsElevate--stat__fontSize: 7rem; /* 112px */
    --hsElevate--stat__lineHeight: 112px;
    --hsElevate--stat__fontWeight: 200;
    --hsElevate--stat__fontStyle: normal;
    --hsElevate--stat__letterSpacing: 0em;
    --hsElevate--stat__marginBottom: 6px;

    /* CTA - Tablet */
    --hsElevate--cta__fontSize: 1.125rem; /* 18px */
    --hsElevate--cta__lineHeight: 26px;
    --hsElevate--cta__fontWeight: 600;
    --hsElevate--cta__fontStyle: normal;
    --hsElevate--cta__letterSpacing: 0.01em;
    --hsElevate--cta__marginBottom: 10px;

    /* Tag - Tablet */
    --hsElevate--tag__fontSize: 0.6875rem; /* 11px */
    --hsElevate--tag__lineHeight: 15px;
    --hsElevate--tag__fontWeight: 500;
    --hsElevate--tag__fontStyle: normal;
    --hsElevate--tag__letterSpacing: 0.05em;
    --hsElevate--tag__marginBottom: 4px;
  }
}

/* Mobile overrides (below 768px) */

@media (max-width: 47.999rem) {
  :root {
    /* Section vertical padding - mobile */
    --hsElevate--section--extraSmall__verticalPadding: 36px;
    --hsElevate--section--small__verticalPadding: 72px;
    --hsElevate--section--medium__verticalPadding: 48px;
    --hsElevate--section--large__verticalPadding: 80px;
    --hsElevate--section--extraLarge__verticalPadding: 96px;

    /* Section horizontal padding (gutter) - mobile */
    --hsElevate--section--horizontalPadding: 24px;

    /* Spacer gap scale - mobile */
    --hsElevate--spacer--xs: 8px;
    --hsElevate--spacer--sm: 16px;
    --hsElevate--spacer--md: 24px;
    --hsElevate--spacer--lg: 32px;
    --hsElevate--spacer--xl: 48px;

    /* Row Gaps - mobile */
    --hsElevate--rowGap--small: 12px;
    --hsElevate--rowGap--medium: 16px;
    --hsElevate--rowGap--large: 24px;

    /* Content gap tokens — mobile */
    --hsElevate--contentGap--sm: 16px;
    --hsElevate--contentGap--md: 24px;
    --hsElevate--contentGap--lg: 32px;

    /* Body - Mobile: LG 16/25, MD 14/22, SM 12/17 */
    --hsElevate--body--small__fontSize: 0.75rem;
    --hsElevate--body--small__lineHeight: 17px;
    --hsElevate--body--medium__fontSize: 0.875rem;
    --hsElevate--body--medium__lineHeight: 22px;
    --hsElevate--body__fontSize: 1rem;
    --hsElevate--body--large__fontSize: 1rem;
    --hsElevate--body--large__lineHeight: 25px;
    --hsElevate--body__lineHeight: 25px;

    /* Display - Mobile */
    --hsElevate--display__fontSize: 4rem; /* 64px */
    --hsElevate--display__lineHeight: 64px;
    --hsElevate--display__marginBottom: 24px;

    /* Eyebrow - Mobile */
    --hsElevate--eyebrow__fontSize: 0.875rem; /* 14px */
    --hsElevate--eyebrow__lineHeight: 20px;
    --hsElevate--eyebrow__fontWeight: 500;
    --hsElevate--eyebrow__letterSpacing: 0.05em;
    --hsElevate--eyebrow__marginBottom: 8px;

    /* Body LG margin - Mobile */
    --hsElevate--body--large__marginBottom: 0;

    /* Body MD margin - Mobile */
    --hsElevate--body--medium__marginBottom: 12px;

    /* Body SM margin - Mobile */
    --hsElevate--body--small__marginBottom: 8px;

    /* Label L - Mobile */
    --hsElevate--label--large__marginBottom: 6px;

    /* Label M - Mobile */
    --hsElevate--label--medium__fontSize: 0.875rem; /* 14px */
    --hsElevate--label--medium__lineHeight: 20px;
    --hsElevate--label--medium__marginBottom: 4px;

    /* Label S - Mobile */
    --hsElevate--label--small__fontSize: 0.75rem; /* 12px */
    --hsElevate--label--small__lineHeight: 17px;
    --hsElevate--label--small__marginBottom: 4px;

    /* Stat - Mobile */
    --hsElevate--stat__fontSize: 6rem; /* 96px */
    --hsElevate--stat__lineHeight: 96px;
    --hsElevate--stat__fontWeight: 200;
    --hsElevate--stat__fontStyle: normal;
    --hsElevate--stat__letterSpacing: 0em;
    --hsElevate--stat__marginBottom: 4px;

    /* CTA - Mobile */
    --hsElevate--cta__fontSize: 1rem; /* 16px */
    --hsElevate--cta__lineHeight: 24px;
    --hsElevate--cta__fontWeight: 600;
    --hsElevate--cta__fontStyle: normal;
    --hsElevate--cta__letterSpacing: 0.01em;
    --hsElevate--cta__marginBottom: 8px;

    /* Tag - Mobile */
    --hsElevate--tag__fontSize: 0.6875rem; /* 11px */
    --hsElevate--tag__lineHeight: 15px;
    --hsElevate--tag__fontWeight: 500;
    --hsElevate--tag__fontStyle: normal;
    --hsElevate--tag__letterSpacing: 0.05em;
    --hsElevate--tag__marginBottom: 4px;
  }
}

/* Foundational border-radius scale from theme settings */

  

:root {
  --hsElevate--radius--extra-small: 2px;
  --hsElevate--radius--small: 4px;
  --hsElevate--radius--medium: 6px;
  --hsElevate--radius--large: 6px;
}

/**
 * Responsive Breakpoints
 * 
 * Aligned with Tailwind CSS v4 standards for future compatibility.
 * Uses rem units for better accessibility (1rem = 16px based on html font-size).
 * Mobile-first approach with modern CSS range syntax.
 * 
 * Breakpoint Reference:
 * - sm:  640px  (40rem)  - Small tablets, large phones (landscape)
 * - md:  768px  (48rem)  - Tablets
 * - lg:  1024px (64rem)  - Laptops, small desktops
 * - xl:  1280px (80rem)  - Desktops
 * - 2xl: 1536px (96rem)  - Large desktops, 4K screens
 */

:root {
  /* Breakpoint values in rem (preferred - use these) */
  --hsElevate--breakpoint--sm: 40rem;    /* 640px */
  --hsElevate--breakpoint--md: 48rem;    /* 768px */
  --hsElevate--breakpoint--lg: 64rem;    /* 1024px */
  --hsElevate--breakpoint--xl: 80rem;    /* 1280px */
  --hsElevate--breakpoint--2xl: 96rem;   /* 1536px */
  
  /* Legacy pixel values (for reference only - prefer rem above) */
  --hsElevate--breakpoint--sm-px: 640px;
  --hsElevate--breakpoint--md-px: 768px;
  --hsElevate--breakpoint--lg-px: 1024px;
  --hsElevate--breakpoint--xl-px: 1280px;
  --hsElevate--breakpoint--2xl-px: 1536px;
}

/* 
  Usage Examples:
  
  Mobile-first (min-width):
    @media (width >= 48rem) {
      // Styles for md and up (tablets and larger)
    }
  
  Desktop-first (max-width):
    @media (width < 48rem) {
      // Styles below md (mobile only)
    }
  
  Breakpoint range:
    @media (width >= 48rem) and (width < 64rem) {
      // Styles for md only (tablets only)
    }
  
  Using CSS variables (not widely supported in media queries yet):
    @media (width >= var(--hsElevate--breakpoint--md)) {
      // May not work in all browsers
    }
  
  Best Practice:
    Use the rem values directly in media queries for maximum compatibility:
    @media (width >= 48rem) { ... }
*/

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

:root {

    /* Row Gaps - Desktop (default) */
    --hsElevate--rowGap--small:  16px ;
    --hsElevate--rowGap--medium:  24px ;
    --hsElevate--rowGap--large:  40px ;

    /* HubSpot DND layout grid */
    --hsElevate--column__gap: 2.13%;
    --hsElevate--column__widthMultiplier: 8.333;

    /* Content gap tokens — fixed pixel gaps for content-gap-* utilities */
    --hsElevate--contentGap--sm: 24px;
    --hsElevate--contentGap--md: 48px;
    --hsElevate--contentGap--lg: 80px;

    /* Sections - Content max widths from theme settings */
    --hsElevate--contentWrapper--narrow__maxWidth:  768px ;
    --hsElevate--contentWrapper--compact__maxWidth:  830px ;
    --hsElevate--contentWrapper--medium__maxWidth:  1120px ;
    --hsElevate--contentWrapper--wide__maxWidth:  1680px ;
    --hsElevate--contentWrapper--full__maxWidth:  1920px ;

    /* Module content max widths (breakpoint-aligned) from theme settings */
    --hsElevate--contentMaxWidth--sm:  640px ;
    --hsElevate--contentMaxWidth--sm-md:  704px ;
    --hsElevate--contentMaxWidth--md:  768px ;
    --hsElevate--contentMaxWidth--md-lg:  896px ;
    --hsElevate--contentMaxWidth--lg:  1024px ;
    --hsElevate--contentMaxWidth--lg-xl:  1152px ;
    --hsElevate--contentMaxWidth--xl:  1280px ;
    --hsElevate--contentMaxWidth--xl-2xl:  1408px ;
    --hsElevate--contentMaxWidth--2xl:  1536px ;

    /* Button min widths from theme settings */
    --hsElevate--buttonMinWidth--small:  200px ;
    --hsElevate--buttonMinWidth--medium:  248px ;
    --hsElevate--buttonMinWidth--large:  292px ;

    /* Section vertical padding - from theme settings (desktop) */
    --hsElevate--section--extraSmall__verticalPadding:  72px ;
    --hsElevate--section--small__verticalPadding:  80px ;
    --hsElevate--section--medium__verticalPadding:  96px ;
    --hsElevate--section--large__verticalPadding:  112px ;
    --hsElevate--section--extraLarge__verticalPadding:  128px ;

    /* Section horizontal padding (gutter) - from theme settings (desktop) */
    --hsElevate--section--horizontalPadding:  120px ;

    /* Spacer gap scale - from theme settings (desktop) */
    --hsElevate--spacer--xs:  12px ;
    --hsElevate--spacer--sm:  24px ;
    --hsElevate--spacer--md:  32px ;
    --hsElevate--spacer--lg:  48px ;
    --hsElevate--spacer--xl:  72px ;

    /* Gap - default gaps that could be easily leveraged in module styles via class names */
    --hsElevate--gap--extraSmall:  16px ;
    --hsElevate--gap--small:  24px ;
    --hsElevate--gap--medium:  32px ;
    --hsElevate--gap--large:  64px ;
    --hsElevate--gap--extraLarge:  96px ;

    /* Spacing - default spacing values  */
    --hsElevate--spacing--4:  4px ;
    --hsElevate--spacing--8:  8px ;
    --hsElevate--spacing--12:  12px ;
    --hsElevate--spacing--16:  16px ;
    --hsElevate--spacing--20:  20px ;
    --hsElevate--spacing--24:  24px ;
    --hsElevate--spacing--32:  32px ;
    --hsElevate--spacing--40:  40px ;
    --hsElevate--spacing--48:  48px ;
    --hsElevate--spacing--56:  56px ;
    --hsElevate--spacing--64:  64px ;
    --hsElevate--spacing--72:  72px ;
    --hsElevate--spacing--80:  80px ;
    --hsElevate--spacing--88:  88px ;
    --hsElevate--spacing--96:  96px ;
    --hsElevate--spacing--104:  104px ;
    --hsElevate--spacing--112:  112px ;
    --hsElevate--spacing--120:  120px ;
    --hsElevate--spacing--128:  128px ;
    --hsElevate--spacing--136:  136px ;
    --hsElevate--spacing--144:  144px ;
    --hsElevate--spacing--152:  152px ;
    --hsElevate--spacing--160:  160px ;
    --hsElevate--spacing--168:  168px ;
    --hsElevate--spacing--176:  176px ;
    --hsElevate--spacing--184:  184px ;
    --hsElevate--spacing--192:  192px ;

    /* Grids */
    --default-section-padding: var(--hsElevate--section--extraLarge__verticalPadding) var(--hsElevate--section--horizontalPadding);
    --default-section-margin: 0;
    --default-section-max-width: var(--hsElevate--contentWrapper--wide__maxWidth);
    --default-container-padding: 0;
    --default-container-margin: 0;
    --default-container-gap: var(--hsElevate--gap--medium);
    --default-container-row-gap: var(--hsElevate--gap--medium);
    --default-container-column-gap: var(--hsElevate--gap--medium);
    --default-table-padding: 0;
    --default-table-margin: 0;
    --default-table-row-gap: var(--hsElevate--gap--medium);
    --default-table-column-gap: var(--hsElevate--gap--medium);
}

/* Tablet overrides (768px to 1024px) */

@media (max-width: 1024px) {
  :root {
    /* Row Gaps */
    --hsElevate--rowGap--small:  16px ;
    --hsElevate--rowGap--medium:  20px ;
    --hsElevate--rowGap--large:  32px ;

    /* Section vertical padding */
    --hsElevate--section--extraSmall__verticalPadding:  36px ;
    --hsElevate--section--small__verticalPadding:  72px ;
    --hsElevate--section--medium__verticalPadding:  48px ;
    --hsElevate--section--large__verticalPadding:  80px ;
    --hsElevate--section--extraLarge__verticalPadding:  96px ;

    /* Section horizontal padding (gutter) */
    --hsElevate--section--horizontalPadding:  24px ;

    /* Spacer gap scale */
    --hsElevate--spacer--xs:  8px ;
    --hsElevate--spacer--sm:  16px ;
    --hsElevate--spacer--md:  24px ;
    --hsElevate--spacer--lg:  32px ;
    --hsElevate--spacer--xl:  48px ;

    /* Content gap tokens — tablet */
    --hsElevate--contentGap--sm: 16px;
    --hsElevate--contentGap--md: 32px;
    --hsElevate--contentGap--lg: 60px;
  }
}

/* Mobile overrides (below 768px) */

@media (max-width: 47.999rem) {
  :root {
    /* Row Gaps */
    --hsElevate--rowGap--small:  12px ;
    --hsElevate--rowGap--medium:  16px ;
    --hsElevate--rowGap--large:  24px ;

    /* Section vertical padding */
    --hsElevate--section--extraSmall__verticalPadding:  36px ;
    --hsElevate--section--small__verticalPadding:  72px ;
    --hsElevate--section--medium__verticalPadding:  48px ;
    --hsElevate--section--large__verticalPadding:  80px ;
    --hsElevate--section--extraLarge__verticalPadding:  96px ;

    /* Section horizontal padding (gutter) */
    --hsElevate--section--horizontalPadding:  24px ;

    /* Spacer gap scale */
    --hsElevate--spacer--xs:  8px ;
    --hsElevate--spacer--sm:  16px ;
    --hsElevate--spacer--md:  24px ;
    --hsElevate--spacer--lg:  32px ;
    --hsElevate--spacer--xl:  48px ;

    /* Content gap tokens — mobile */
    --hsElevate--contentGap--sm: 16px;
    --hsElevate--contentGap--md: 24px;
    --hsElevate--contentGap--lg: 32px;
  }
}

  

  

/* Section padding pixel utilities — Desktop (default) */

  

.dnd-section.section-pt-0 { padding-top: 0px; }

.dnd-section.section-pb-0 { padding-bottom: 0px; }

  

.dnd-section.section-pt-36 { padding-top: 36px; }

.dnd-section.section-pb-36 { padding-bottom: 36px; }

  

.dnd-section.section-pt-48 { padding-top: 48px; }

.dnd-section.section-pb-48 { padding-bottom: 48px; }

  

.dnd-section.section-pt-72 { padding-top: 72px; }

.dnd-section.section-pb-72 { padding-bottom: 72px; }

  

.dnd-section.section-pt-80 { padding-top: 80px; }

.dnd-section.section-pb-80 { padding-bottom: 80px; }

  

.dnd-section.section-pt-96 { padding-top: 96px; }

.dnd-section.section-pb-96 { padding-bottom: 96px; }

  

.dnd-section.section-pt-112 { padding-top: 112px; }

.dnd-section.section-pb-112 { padding-bottom: 112px; }

  

.dnd-section.section-pt-128 { padding-top: 128px; }

.dnd-section.section-pb-128 { padding-bottom: 128px; }

  

/* Section padding pixel utilities — Tablet (≤1024px) */

@media (max-width: 1024px) {
  
  .dnd-section.section-pt-tablet-0 { padding-top: 0px; }
  .dnd-section.section-pb-tablet-0 { padding-bottom: 0px; }
  
  .dnd-section.section-pt-tablet-36 { padding-top: 36px; }
  .dnd-section.section-pb-tablet-36 { padding-bottom: 36px; }
  
  .dnd-section.section-pt-tablet-48 { padding-top: 48px; }
  .dnd-section.section-pb-tablet-48 { padding-bottom: 48px; }
  
  .dnd-section.section-pt-tablet-72 { padding-top: 72px; }
  .dnd-section.section-pb-tablet-72 { padding-bottom: 72px; }
  
  .dnd-section.section-pt-tablet-80 { padding-top: 80px; }
  .dnd-section.section-pb-tablet-80 { padding-bottom: 80px; }
  
  .dnd-section.section-pt-tablet-96 { padding-top: 96px; }
  .dnd-section.section-pb-tablet-96 { padding-bottom: 96px; }
  
  .dnd-section.section-pt-tablet-112 { padding-top: 112px; }
  .dnd-section.section-pb-tablet-112 { padding-bottom: 112px; }
  
  .dnd-section.section-pt-tablet-128 { padding-top: 128px; }
  .dnd-section.section-pb-tablet-128 { padding-bottom: 128px; }
  
}

/* Section padding pixel utilities — Mobile (<768px) */

@media (max-width: 47.999rem) {
  
  .dnd-section.section-pt-mobile-0 { padding-top: 0px; }
  .dnd-section.section-pb-mobile-0 { padding-bottom: 0px; }
  
  .dnd-section.section-pt-mobile-36 { padding-top: 36px; }
  .dnd-section.section-pb-mobile-36 { padding-bottom: 36px; }
  
  .dnd-section.section-pt-mobile-48 { padding-top: 48px; }
  .dnd-section.section-pb-mobile-48 { padding-bottom: 48px; }
  
  .dnd-section.section-pt-mobile-72 { padding-top: 72px; }
  .dnd-section.section-pb-mobile-72 { padding-bottom: 72px; }
  
  .dnd-section.section-pt-mobile-80 { padding-top: 80px; }
  .dnd-section.section-pb-mobile-80 { padding-bottom: 80px; }
  
  .dnd-section.section-pt-mobile-96 { padding-top: 96px; }
  .dnd-section.section-pb-mobile-96 { padding-bottom: 96px; }
  
  .dnd-section.section-pt-mobile-112 { padding-top: 112px; }
  .dnd-section.section-pb-mobile-112 { padding-bottom: 112px; }
  
  .dnd-section.section-pt-mobile-128 { padding-top: 128px; }
  .dnd-section.section-pb-mobile-128 { padding-bottom: 128px; }
  
}

  

  

/* Content gap pixel utilities — Desktop (≥768px) */

@media (min-width: 48rem) {
  
  .dnd-section.content-gap-0 > .row-fluid { gap: 0px; justify-content: initial; }
  .dnd-section.content-gap-0 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-2 > .row-fluid { gap: 2px; justify-content: initial; }
  .dnd-section.content-gap-2 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-4 > .row-fluid { gap: 4px; justify-content: initial; }
  .dnd-section.content-gap-4 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-6 > .row-fluid { gap: 6px; justify-content: initial; }
  .dnd-section.content-gap-6 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-8 > .row-fluid { gap: 8px; justify-content: initial; }
  .dnd-section.content-gap-8 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-10 > .row-fluid { gap: 10px; justify-content: initial; }
  .dnd-section.content-gap-10 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-12 > .row-fluid { gap: 12px; justify-content: initial; }
  .dnd-section.content-gap-12 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-16 > .row-fluid { gap: 16px; justify-content: initial; }
  .dnd-section.content-gap-16 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-24 > .row-fluid { gap: 24px; justify-content: initial; }
  .dnd-section.content-gap-24 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-32 > .row-fluid { gap: 32px; justify-content: initial; }
  .dnd-section.content-gap-32 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-36 > .row-fluid { gap: 36px; justify-content: initial; }
  .dnd-section.content-gap-36 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-48 > .row-fluid { gap: 48px; justify-content: initial; }
  .dnd-section.content-gap-48 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-56 > .row-fluid { gap: 56px; justify-content: initial; }
  .dnd-section.content-gap-56 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-72 > .row-fluid { gap: 72px; justify-content: initial; }
  .dnd-section.content-gap-72 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-80 > .row-fluid { gap: 80px; justify-content: initial; }
  .dnd-section.content-gap-80 > .row-fluid > [class*="span"] { width: auto; }
  
  .dnd-section.content-gap-96 > .row-fluid { gap: 96px; justify-content: initial; }
  .dnd-section.content-gap-96 > .row-fluid > [class*="span"] { width: auto; }
  
}

/* Content gap pixel utilities — Mobile (<768px) stacked layouts */

@media (max-width: 47.999rem) {
  
  .dnd-section.content-gap-0.stack-mobile > .row-fluid { row-gap: 0px; }
  .dnd-section.content-gap-0.stack-tablet > .row-fluid { row-gap: 0px; }
  
  .dnd-section.content-gap-2.stack-mobile > .row-fluid { row-gap: 2px; }
  .dnd-section.content-gap-2.stack-tablet > .row-fluid { row-gap: 2px; }
  
  .dnd-section.content-gap-4.stack-mobile > .row-fluid { row-gap: 4px; }
  .dnd-section.content-gap-4.stack-tablet > .row-fluid { row-gap: 4px; }
  
  .dnd-section.content-gap-6.stack-mobile > .row-fluid { row-gap: 6px; }
  .dnd-section.content-gap-6.stack-tablet > .row-fluid { row-gap: 6px; }
  
  .dnd-section.content-gap-8.stack-mobile > .row-fluid { row-gap: 6px; }
  .dnd-section.content-gap-8.stack-tablet > .row-fluid { row-gap: 6px; }
  
  .dnd-section.content-gap-10.stack-mobile > .row-fluid { row-gap: 10px; }
  .dnd-section.content-gap-10.stack-tablet > .row-fluid { row-gap: 10px; }
  
  .dnd-section.content-gap-12.stack-mobile > .row-fluid { row-gap: 8px; }
  .dnd-section.content-gap-12.stack-tablet > .row-fluid { row-gap: 8px; }
  
  .dnd-section.content-gap-16.stack-mobile > .row-fluid { row-gap: 12px; }
  .dnd-section.content-gap-16.stack-tablet > .row-fluid { row-gap: 12px; }
  
  .dnd-section.content-gap-24.stack-mobile > .row-fluid { row-gap: 16px; }
  .dnd-section.content-gap-24.stack-tablet > .row-fluid { row-gap: 16px; }
  
  .dnd-section.content-gap-32.stack-mobile > .row-fluid { row-gap: 24px; }
  .dnd-section.content-gap-32.stack-tablet > .row-fluid { row-gap: 24px; }
  
  .dnd-section.content-gap-36.stack-mobile > .row-fluid { row-gap: 36px; }
  .dnd-section.content-gap-36.stack-tablet > .row-fluid { row-gap: 36px; }
  
  .dnd-section.content-gap-48.stack-mobile > .row-fluid { row-gap: 32px; }
  .dnd-section.content-gap-48.stack-tablet > .row-fluid { row-gap: 32px; }
  
  .dnd-section.content-gap-56.stack-mobile > .row-fluid { row-gap: 56px; }
  .dnd-section.content-gap-56.stack-tablet > .row-fluid { row-gap: 56px; }
  
  .dnd-section.content-gap-72.stack-mobile > .row-fluid { row-gap: 48px; }
  .dnd-section.content-gap-72.stack-tablet > .row-fluid { row-gap: 48px; }
  
  .dnd-section.content-gap-80.stack-mobile > .row-fluid { row-gap: 48px; }
  .dnd-section.content-gap-80.stack-tablet > .row-fluid { row-gap: 48px; }
  
  .dnd-section.content-gap-96.stack-mobile > .row-fluid { row-gap: 80px; }
  .dnd-section.content-gap-96.stack-tablet > .row-fluid { row-gap: 80px; }
  
}

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

:root {

  /* Master Typography Colors */

  --hsElevate--typography__headings-color:  #000000 ;
  --hsElevate--typography__body-color:  #525252 ;
  
  /* Dark Section Master Typography Colors */
  
  --hsElevate--typography__headings-color--dark:  #FFFFFF ;
  --hsElevate--typography__body-color--dark:  #FFFFFF ;

  /* Text spacing */

  --hsElevate--text--extraSmall__margin: 0 0.75rem; /* 12px */
  --hsElevate--text--small__margin: 0 1.25rem; /* 20px */
  --hsElevate--text__margin: 0 2rem; /* 32px */
  --hsElevate--text--large__margin: 0 2.5rem; /* 40px */
  --hsElevate--text--extraLarge__margin: 0 4rem; /* 64px */

  /* Body - Desktop (default, > 1024px)
   * Body sizes are sourced from the Body fields in fields.json:
   *   Body LG = group_body_lg (body_font_1)
   *   Body MD = group_body_md (body_md)
   *   Body SM = group_body_sm (body_sm)
   */

  --hsElevate--baseText__fontSize:  16px ;
  --hsElevate--body__font: "DM Sans", sans-serif;
  --hsElevate--body--small__fontSize:  1.0rem ;
  --hsElevate--body--small__lineHeight:  24px ;
  --hsElevate--body--small__marginBottom:  12px ;
  --hsElevate--body--medium__fontSize:  1.25rem ;
  --hsElevate--body--medium__lineHeight:  30px ;
  --hsElevate--body--medium__marginBottom:  16px ;
  --hsElevate--body__fontSize:  1.25rem ;
  --hsElevate--body--large__fontSize:  1.25rem ;
  --hsElevate--body--large__lineHeight:  30px ;
  --hsElevate--body__fontWeight:  normal ;
  --hsElevate--body__fontStyle:  normal ;
  --hsElevate--body__lineHeight:  30px ;

  /* Primary links */

  --hsElevate--link--primary__fontColor:  #342775 ;

    
    --hsElevate--link--primary__textDecoration: none;
    --hsElevate--link--primary__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--link--primary__hover--fontColor:  #342775 ;

    
    --hsElevate--link--primary__hover--textDecoration: underline;
    --hsElevate--link--primary__hover--textDecorationColor:  #342775 ;
    

  /* Secondary links */

  --hsElevate--link--secondary__fontColor:  #342775 ;

    
    --hsElevate--link--secondary__textDecoration: none;
    --hsElevate--link--secondary__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--link--secondary__hover--fontColor:  #342775 ;

    
    --hsElevate--link--secondary__hover--textDecoration: underline;
    --hsElevate--link--secondary__hover--textDecorationColor:  #342775 ;
    

  /* Headings */

  /* Percentage change for the heading font sizes on mobile */
  --hsElevate--heading__tablet-modifier: 0.8;

  --hsElevate--display__lineHeight:  72px ;
  --hsElevate--h1__lineHeight:  62px ;
  --hsElevate--h2__lineHeight:  52px ;
  --hsElevate--h3__lineHeight:  40px ;
  --hsElevate--h4__lineHeight:  30px ;
  --hsElevate--h5__lineHeight:  18px ;
  --hsElevate--h6__lineHeight:  18px ;

  --hsElevate--display__letterSpacing:  0em ;
  --hsElevate--h1__letterSpacing:  0em ;
  --hsElevate--h2__letterSpacing:  0em ;
  --hsElevate--h3__letterSpacing:  0em ;
  --hsElevate--h4__letterSpacing:  0em ;
  --hsElevate--h5__letterSpacing:  0em ;
  --hsElevate--h6__letterSpacing:  0em ;

  --hsElevate--display__marginBottom:  32px ;
  --hsElevate--h1__marginBottom:  32px ;
  --hsElevate--h2__marginBottom:  28px ;
  --hsElevate--h3__marginBottom:  24px ;
  --hsElevate--h4__marginBottom:  20px ;
  --hsElevate--h5__marginBottom:  16px ;
  --hsElevate--h6__marginBottom:  12px ;


  /* Display - Desktop (default, > 1024px) */
  --hsElevate--display__font: "Inter", sans-serif;
  --hsElevate--display__fontSize:  4.5rem ;
  --hsElevate--display__fontWeight:  400 ;
  --hsElevate--display__fontStyle:  normal ;

  /* H1 - Desktop (default, > 1024px) */
  --hsElevate--h1__font: "DM Sans", sans-serif;
  --hsElevate--h1__fontSize:  3.75rem ;
  --hsElevate--h1__fontWeight:  200 ;
  --hsElevate--h1__fontStyle:  normal ;

  /* H2 - Desktop (default, > 1024px) */
  --hsElevate--h2__font: "DM Sans", sans-serif;
  --hsElevate--h2__fontSize:  2.75rem ;
  --hsElevate--h2__fontWeight:  200 ;
  --hsElevate--h2__fontStyle:  normal ;

  /* H3 - Desktop (default, > 1024px) */
  --hsElevate--h3__font: "DM Sans", sans-serif;
  --hsElevate--h3__fontSize:  1.875rem ;
  --hsElevate--h3__fontWeight:  500 ;
  --hsElevate--h3__fontStyle:  normal ;

  /* H4 - Desktop (default, > 1024px) */
  --hsElevate--h4__font: "DM Sans", sans-serif;
  --hsElevate--h4__fontSize:  1.5rem ;
  --hsElevate--h4__fontWeight:  500 ;
  --hsElevate--h4__fontStyle:  normal ;

  /* H5 - Desktop (default, > 1024px) */
  --hsElevate--h5__font: "DM Sans", sans-serif;
  --hsElevate--h5__fontSize:  1.0rem ;
  --hsElevate--h5__fontWeight:  700 ;
  --hsElevate--h5__fontStyle:  normal ;

  /* H6 - Desktop (default, > 1024px) */
  --hsElevate--h6__font: "DM Sans", sans-serif;
  --hsElevate--h6__fontSize:  1.0rem ;
  --hsElevate--h6__fontWeight:  700 ;
  --hsElevate--h6__fontStyle:  normal ;

  /* Navigation - Main Links */

  --hsElevate--navigation__font: "Inter", sans-serif;
  --hsElevate--navigation__fontSize--mobile:  0.8125rem ;
  --hsElevate--navigation__fontWeight--mobile:  normal ;
  --hsElevate--navigation__fontStyle--mobile:  normal ;

  --hsElevate--navigation__fontSize--sm:  0.8125rem ;
  --hsElevate--navigation__fontWeight--sm:  normal ;
  --hsElevate--navigation__fontStyle--sm:  normal ;

  --hsElevate--navigation__fontSize--md:  0.875rem ;
  --hsElevate--navigation__fontWeight--md:  normal ;
  --hsElevate--navigation__fontStyle--md:  normal ;

  --hsElevate--navigation__fontSize--lg:  0.875rem ;
  --hsElevate--navigation__fontWeight--lg:  normal ;
  --hsElevate--navigation__fontStyle--lg:  normal ;

  --hsElevate--navigation__fontSize--xl:  0.9375rem ;
  --hsElevate--navigation__fontWeight--xl:  normal ;
  --hsElevate--navigation__fontStyle--xl:  normal ;

  --hsElevate--navigation__fontSize--2xl:  0.9375rem ;
  --hsElevate--navigation__fontWeight--2xl:  normal ;
  --hsElevate--navigation__fontStyle--2xl:  normal ;

  /* Navigation - Dropdown Links */

  --hsElevate--navigationDropdown__font: "Inter", sans-serif;
  --hsElevate--navigationDropdown__fontSize--mobile:  0.8125rem ;
  --hsElevate--navigationDropdown__fontWeight--mobile:  normal ;
  --hsElevate--navigationDropdown__fontStyle--mobile:  normal ;

  --hsElevate--navigationDropdown__fontSize--sm:  0.8125rem ;
  --hsElevate--navigationDropdown__fontWeight--sm:  normal ;
  --hsElevate--navigationDropdown__fontStyle--sm:  normal ;

  --hsElevate--navigationDropdown__fontSize--md:  0.875rem ;
  --hsElevate--navigationDropdown__fontWeight--md:  normal ;
  --hsElevate--navigationDropdown__fontStyle--md:  normal ;

  --hsElevate--navigationDropdown__fontSize--lg:  0.875rem ;
  --hsElevate--navigationDropdown__fontWeight--lg:  normal ;
  --hsElevate--navigationDropdown__fontStyle--lg:  normal ;

  --hsElevate--navigationDropdown__fontSize--xl:  0.9375rem ;
  --hsElevate--navigationDropdown__fontWeight--xl:  normal ;
  --hsElevate--navigationDropdown__fontStyle--xl:  normal ;

  --hsElevate--navigationDropdown__fontSize--2xl:  0.9375rem ;
  --hsElevate--navigationDropdown__fontWeight--2xl:  normal ;
  --hsElevate--navigationDropdown__fontStyle--2xl:  normal ;

  /* Navigation - Link Spacing 
   * 
   * IMPORTANT: See docs/navigation-spacing.md for local development quirks
   * 
   * Local dev quirk: The local dev server reads from the portal's saved setting,
   * NOT from fields.json default. If you see the wrong spacing locally, change it
   * in CMS Theme Settings or temporarily comment out other spacing blocks.
   * 
   * PostCSS deduplication: Each spacing option MUST have unique values for every
   * variable. If two options share the same value (e.g., both have xl: 16px),
   * PostCSS will remove one as a duplicate, breaking local development.
   */
    
  
    
    /* Default: Balanced spacing (smaller than original) */
    --hsElevate--navigation__gap--mobile: 6px;
    --hsElevate--navigation__gap--md: 8px;
    --hsElevate--navigation__gap--lg: 12px;
    --hsElevate--navigation__gap--xl: 16px;
    
    --hsElevate--navigation__paddingBlock--mobile: 6px;
    --hsElevate--navigation__paddingBlock--lg: 8px;
    --hsElevate--navigation__paddingInline--mobile: 6px;
    --hsElevate--navigation__paddingInline--md: 6px;
    --hsElevate--navigation__paddingInline--lg: 8px;
    --hsElevate--navigation__paddingInline--xl: 10px;
    

  /* Quotes */

  --hsElevate--quotes__font: "Inter", sans-serif;
  --hsElevate--quotes__fontColor:   ;
  --hsElevate--quotes__fontSize:  0.0rem ;
  --hsElevate--quotes__fontWeight:  normal ;
  --hsElevate--quotes__fontStyle:  normal ;

    /* Captions */

  --hsElevate--captions__font: "DM Sans", sans-serif;
  --hsElevate--captions__fontSize:  0.75rem ;
  --hsElevate--captions__fontWeight:  400 ;
  --hsElevate--captions__fontStyle:  normal ;
  --hsElevate--captions__case:  uppercase ;

  /* Eyebrow - Desktop (default, > 1024px) */

  --hsElevate--eyebrow__fontSize:  1.125rem ;
  --hsElevate--eyebrow__lineHeight:  20px ;
  --hsElevate--eyebrow__fontWeight:  700 ;
  --hsElevate--eyebrow__letterSpacing:  0.05em ;
  --hsElevate--eyebrow__textTransform:  uppercase ;
  --hsElevate--eyebrow__marginBottom:  12px ;

  /* Eyebrow colors (light/dark section variants) */
  --hsElevate--eyebrow__color--light:  #10001f ;
  --hsElevate--eyebrow__color--dark:  #a69eef ;

  /* Label L - Desktop (default, > 1024px) */

  --hsElevate--label--large__fontSize:  1.0625rem ;
  --hsElevate--label--large__lineHeight:  24px ;
  --hsElevate--label--large__marginBottom:  8px ;

  /* Label M - Desktop (default, > 1024px) */

  --hsElevate--label--medium__fontSize:  0.9375rem ;
  --hsElevate--label--medium__lineHeight:  21px ;
  --hsElevate--label--medium__marginBottom:  6px ;

  /* Label S - Desktop (default, > 1024px) */

  --hsElevate--label--small__fontSize:  0.875rem ;
  --hsElevate--label--small__lineHeight:  20px ;
  --hsElevate--label--small__marginBottom:  4px ;

  /* Stat - Desktop (default, > 1024px) */

  --hsElevate--stat__fontSize:  8.0rem ;
  --hsElevate--stat__lineHeight:  128px ;
  --hsElevate--stat__fontWeight:  200 ;
  --hsElevate--stat__fontStyle:  normal ;
  --hsElevate--stat__letterSpacing:  0em ;
  --hsElevate--stat__marginBottom:  8px ;

  /* Stat colors (light/dark section variants) */
  --hsElevate--stat__color--light:  #A69EEF ;
  --hsElevate--stat__color--dark:  #a69eef ;

  /* CTA - Desktop (default, > 1024px) */

  --hsElevate--cta__fontSize:  0.875rem ;
  --hsElevate--cta__lineHeight:  14px ;
  --hsElevate--cta__fontWeight:  700 ;
  --hsElevate--cta__fontStyle:  normal ;
  --hsElevate--cta__letterSpacing:  0.01em ;
  --hsElevate--cta__textTransform:  uppercase ;
  --hsElevate--cta__marginBottom:  12px ;

  /* Tag - Desktop (default, > 1024px) */

  --hsElevate--tag__fontSize:  0.625rem ;
  --hsElevate--tag__lineHeight:  10px ;
  --hsElevate--tag__fontWeight:  700 ;
  --hsElevate--tag__fontStyle:  normal ;
  --hsElevate--tag__letterSpacing:  0.05em ;
  --hsElevate--tag__textTransform:  uppercase ;
  --hsElevate--tag__marginBottom:  4px ;

  /* Images */

  --hsElevate--rteImages__margin: 2rem; /* 32px */
}

/* Tablet Breakpoint - 768px to 1024px */

@media (max-width: 1024px) {
  :root {
    /* Display - Tablet */
    --hsElevate--display__fontSize:  4.5rem ;
    --hsElevate--display__fontWeight:  400 ;
    --hsElevate--display__fontStyle:  normal ;
    
    /* H1 - Tablet */
    --hsElevate--h1__fontSize:  3.75rem ;
    --hsElevate--h1__fontWeight:  200 ;
    --hsElevate--h1__fontStyle:  normal ;
    
    /* H2 - Tablet */
    --hsElevate--h2__fontSize:  2.75rem ;
    --hsElevate--h2__fontWeight:  200 ;
    --hsElevate--h2__fontStyle:  normal ;
    
    /* H3 - Tablet */
    --hsElevate--h3__fontSize:  1.875rem ;
    --hsElevate--h3__fontWeight:  500 ;
    --hsElevate--h3__fontStyle:  normal ;
    
    /* H4 - Tablet */
    --hsElevate--h4__fontSize:  1.5rem ;
    --hsElevate--h4__fontWeight:  500 ;
    --hsElevate--h4__fontStyle:  normal ;
    
    /* H5 - Tablet */
    --hsElevate--h5__fontSize:  1.0rem ;
    --hsElevate--h5__fontWeight:  700 ;
    --hsElevate--h5__fontStyle:  normal ;
    
    /* H6 - Tablet */
    --hsElevate--h6__fontSize:  1.0rem ;
    --hsElevate--h6__fontWeight:  700 ;
    --hsElevate--h6__fontStyle:  normal ;
    
    /* Line Heights - Tablet */
    --hsElevate--display__lineHeight:  72px ;
    --hsElevate--h1__lineHeight:  62px ;
    --hsElevate--h2__lineHeight:  52px ;
    --hsElevate--h3__lineHeight:  40px ;
    --hsElevate--h4__lineHeight:  30px ;
    --hsElevate--h5__lineHeight:  18px ;
    --hsElevate--h6__lineHeight:  18px ;
    
    /* Letter Spacing - Tablet */
    --hsElevate--display__letterSpacing:  0em ;
    --hsElevate--h1__letterSpacing:  0em ;
    --hsElevate--h2__letterSpacing:  0em ;
    --hsElevate--h3__letterSpacing:  0em ;
    --hsElevate--h4__letterSpacing:  0em ;
    --hsElevate--h5__letterSpacing:  0em ;
    --hsElevate--h6__letterSpacing:  0em ;
    
    /* Margin Bottom - Tablet */
    --hsElevate--display__marginBottom:  28px ;
    --hsElevate--h1__marginBottom:  28px ;
    --hsElevate--h2__marginBottom:  24px ;
    --hsElevate--h3__marginBottom:  20px ;
    --hsElevate--h4__marginBottom:  16px ;
    --hsElevate--h5__marginBottom:  12px ;
    --hsElevate--h6__marginBottom:  8px ;
    
    /* Body - Tablet */
    --hsElevate--body--small__fontSize:  1.0rem ;
    --hsElevate--body--small__lineHeight:  24px ;
    --hsElevate--body--small__marginBottom:  10px ;
    --hsElevate--body--medium__fontSize:  1.25rem ;
    --hsElevate--body--medium__lineHeight:  30px ;
    --hsElevate--body--medium__marginBottom:  14px ;
    --hsElevate--body__fontSize:  1.25rem ;
    --hsElevate--body--large__fontSize:  1.25rem ;
    --hsElevate--body--large__lineHeight:  30px ;
    --hsElevate--body--large__marginBottom:  px ;
    --hsElevate--body__lineHeight:  30px ;

    /* Eyebrow - Tablet */
    --hsElevate--eyebrow__fontSize:  1.125rem ;
    --hsElevate--eyebrow__lineHeight:  20px ;
    --hsElevate--eyebrow__fontWeight:  700 ;
    --hsElevate--eyebrow__letterSpacing:  0.05em ;
    --hsElevate--eyebrow__marginBottom:  10px ;

    /* Label L - Tablet */
    --hsElevate--label--large__fontSize:  1.0rem ;
    --hsElevate--label--large__lineHeight:  22px ;
    --hsElevate--label--large__marginBottom:  6px ;

    /* Label M - Tablet */
    --hsElevate--label--medium__fontSize:  0.9375rem ;
    --hsElevate--label--medium__lineHeight:  21px ;
    --hsElevate--label--medium__marginBottom:  6px ;

    /* Label S - Tablet */
    --hsElevate--label--small__fontSize:  0.75rem ;
    --hsElevate--label--small__lineHeight:  17px ;
    --hsElevate--label--small__marginBottom:  4px ;

    /* Stat - Tablet */
    --hsElevate--stat__fontSize:  8.0rem ;
    --hsElevate--stat__lineHeight:  128px ;
    --hsElevate--stat__fontWeight:  200 ;
    --hsElevate--stat__fontStyle:  normal ;
    --hsElevate--stat__letterSpacing:  0em ;
    --hsElevate--stat__marginBottom:  6px ;

    /* CTA - Tablet */
    --hsElevate--cta__fontSize:  0.875rem ;
    --hsElevate--cta__lineHeight:  14px ;
    --hsElevate--cta__fontWeight:  700 ;
    --hsElevate--cta__fontStyle:  normal ;
    --hsElevate--cta__letterSpacing:  0.01em ;
    --hsElevate--cta__marginBottom:  10px ;

    /* Tag - Tablet */
    --hsElevate--tag__fontSize:  0.625rem ;
    --hsElevate--tag__lineHeight:  10px ;
    --hsElevate--tag__fontWeight:  700 ;
    --hsElevate--tag__fontStyle:  normal ;
    --hsElevate--tag__letterSpacing:  0.05em ;
    --hsElevate--tag__marginBottom:  4px ;
  }
}

/* Mobile Breakpoint - < 768px */

@media (max-width: 768px) {
  :root {
    /* Display - Mobile */
    --hsElevate--display__fontSize:  4.0rem ;
    --hsElevate--display__fontWeight:  400 ;
    --hsElevate--display__fontStyle:  normal ;
    
    /* H1 - Mobile */
    --hsElevate--h1__fontSize:  3.25rem ;
    --hsElevate--h1__fontWeight:  200 ;
    --hsElevate--h1__fontStyle:  normal ;
    
    /* H2 - Mobile */
    --hsElevate--h2__fontSize:  2.0rem ;
    --hsElevate--h2__fontWeight:  200 ;
    --hsElevate--h2__fontStyle:  normal ;
    
    /* H3 - Mobile */
    --hsElevate--h3__fontSize:  1.5rem ;
    --hsElevate--h3__fontWeight:  500 ;
    --hsElevate--h3__fontStyle:  normal ;
    
    /* H4 - Mobile */
    --hsElevate--h4__fontSize:  1.25rem ;
    --hsElevate--h4__fontWeight:  500 ;
    --hsElevate--h4__fontStyle:  normal ;
    
    /* H5 - Mobile */
    --hsElevate--h5__fontSize:  1.0rem ;
    --hsElevate--h5__fontWeight:  700 ;
    --hsElevate--h5__fontStyle:  normal ;
    
    /* H6 - Mobile */
    --hsElevate--h6__fontSize:  1.0rem ;
    --hsElevate--h6__fontWeight:  700 ;
    --hsElevate--h6__fontStyle:  normal ;
    
    /* Line Heights - Mobile */
    --hsElevate--display__lineHeight:  64px ;
    --hsElevate--h1__lineHeight:  54px ;
    --hsElevate--h2__lineHeight:  38px ;
    --hsElevate--h3__lineHeight:  32px ;
    --hsElevate--h4__lineHeight:  26px ;
    --hsElevate--h5__lineHeight:  18px ;
    --hsElevate--h6__lineHeight:  18px ;
    
    /* Letter Spacing - Mobile */
    --hsElevate--display__letterSpacing:  0em ;
    --hsElevate--h1__letterSpacing:  0em ;
    --hsElevate--h2__letterSpacing:  0em ;
    --hsElevate--h3__letterSpacing:  0em ;
    --hsElevate--h4__letterSpacing:  0em ;
    --hsElevate--h5__letterSpacing:  0em ;
    --hsElevate--h6__letterSpacing:  0em ;
    
    /* Margin Bottom - Mobile */
    --hsElevate--display__marginBottom:  24px ;
    --hsElevate--h1__marginBottom:  24px ;
    --hsElevate--h2__marginBottom:  20px ;
    --hsElevate--h3__marginBottom:  16px ;
    --hsElevate--h4__marginBottom:  12px ;
    --hsElevate--h5__marginBottom:  8px ;
    --hsElevate--h6__marginBottom:  8px ;
    
    /* Body - Mobile */
    --hsElevate--body--small__fontSize:  0.875rem ;
    --hsElevate--body--small__lineHeight:  21px ;
    --hsElevate--body--small__marginBottom:  8px ;
    --hsElevate--body--medium__fontSize:  1.125rem ;
    --hsElevate--body--medium__lineHeight:  27px ;
    --hsElevate--body--medium__marginBottom:  12px ;
    --hsElevate--body__fontSize:  1.125rem ;
    --hsElevate--body--large__fontSize:  1.125rem ;
    --hsElevate--body--large__lineHeight:  27px ;
    --hsElevate--body--large__marginBottom:  px ;
    --hsElevate--body__lineHeight:  27px ;

    /* Eyebrow - Mobile */
    --hsElevate--eyebrow__fontSize:  1.0rem ;
    --hsElevate--eyebrow__lineHeight:  18px ;
    --hsElevate--eyebrow__fontWeight:  700 ;
    --hsElevate--eyebrow__letterSpacing:  0.05em ;
    --hsElevate--eyebrow__marginBottom:  8px ;

    /* Label L - Mobile */
    --hsElevate--label--large__fontSize:  1.0rem ;
    --hsElevate--label--large__lineHeight:  22px ;
    --hsElevate--label--large__marginBottom:  6px ;

    /* Label M - Mobile */
    --hsElevate--label--medium__fontSize:  0.875rem ;
    --hsElevate--label--medium__lineHeight:  20px ;
    --hsElevate--label--medium__marginBottom:  4px ;

    /* Label S - Mobile */
    --hsElevate--label--small__fontSize:  0.75rem ;
    --hsElevate--label--small__lineHeight:  17px ;
    --hsElevate--label--small__marginBottom:  4px ;

    /* Stat - Mobile */
    --hsElevate--stat__fontSize:  6.0rem ;
    --hsElevate--stat__lineHeight:  96px ;
    --hsElevate--stat__fontWeight:  200 ;
    --hsElevate--stat__fontStyle:  normal ;
    --hsElevate--stat__letterSpacing:  0em ;
    --hsElevate--stat__marginBottom:  4px ;

    /* CTA - Mobile */
    --hsElevate--cta__fontSize:  0.875rem ;
    --hsElevate--cta__lineHeight:  14px ;
    --hsElevate--cta__fontWeight:  700 ;
    --hsElevate--cta__fontStyle:  normal ;
    --hsElevate--cta__letterSpacing:  0.01em ;
    --hsElevate--cta__marginBottom:  8px ;

    /* Tag - Mobile */
    --hsElevate--tag__fontSize:  0.625rem ;
    --hsElevate--tag__lineHeight:  10px ;
    --hsElevate--tag__fontWeight:  700 ;
    --hsElevate--tag__fontStyle:  normal ;
    --hsElevate--tag__letterSpacing:  0.05em ;
    --hsElevate--tag__marginBottom:  4px ;
  }
}

  

:root {
  /* Semantic Color Roles */
  --hsElevate--color-role--primary:  #342775 ;
  --hsElevate--color-role--secondary:  #FFB600 ;
  --hsElevate--color-role--accent1:  #4B48B7 ;
  --hsElevate--color-role--accent2:  #A69EEF ;
  --hsElevate--color-role--lightBackground:  #F1F1F8 ;
  --hsElevate--color-role--lightBackgroundAlt:  #E5E5F2 ;
  --hsElevate--color-role--darkBackground:  #10001F ;
  --hsElevate--color-role--darkBackgroundAlt:  #18003A ;
  --hsElevate--color-role--lightText:  #FFFFFF ;
  --hsElevate--color-role--darkText:  #10001F ;
  --hsElevate--color-role--border:  #4B48B7 ;
}

  

  

  

  

:root {
  /* Light mode colors (from color roles) */
  --hsElevate--color--light--background:  #F1F1F8 ;
  --hsElevate--color--light--foreground:  #10001F ;

  /* Dark mode colors (from color roles) */
  --hsElevate--color--dark--background:  #10001F ;
  --hsElevate--color--dark--foreground:  #FFFFFF ;

  /* Theme colors */
  --hsElevate--color--theme--primary:  #342775 ;
  --hsElevate--color--theme--secondary:  #FFB600 ;
  --hsElevate--color--theme--accent:  #4B48B7 ;
  --hsElevate--color--theme--surface:  #FAFAFA ;

  /* Status colors */
  --hsElevate--color--status--success:  #65C728 ;
  --hsElevate--color--status--error:  #E31A1A ;
}

  

  

  

  

  

  

  

  

  

:root {
  /* Button sizing (single standard size) */
  --hsElevate--button__height:  48px ;
  --hsElevate--button__paddingHorizontal:  24px ;

  /* Primary button variables */
  --hsElevate--button--primary__buttonFill:  filled ;
    
  --hsElevate--button--primary__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--primary__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--primary__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--primary__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--primary__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--primary__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--primary__textColor:  #10001f ;
  --hsElevate--button--primary__hover--textColor:  #10001f ;
  --hsElevate--button--primary__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--primary__backgroundColor:  #FFB600 ;
    --hsElevate--button--primary__hover--backgroundColor:  #FFD290 ;
      
    --hsElevate--button--primary__active--backgroundColor:  #e1b472 ;
    

  --hsElevate--button--primary__borderThickness:  0px ;
  --hsElevate--button--primary__hover--borderThickness:  0px ;

    
    --hsElevate--button--primary__borderColor: transparent;
    --hsElevate--button--primary__hover--borderColor: transparent;
    

  /* Secondary button variables */
  --hsElevate--button--secondary__buttonFill:  no_fill ;
    
  --hsElevate--button--secondary__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--secondary__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--secondary__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--secondary__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--secondary__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--secondary__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--secondary__textColor:  #FFFFFF ;
  --hsElevate--button--secondary__hover--textColor:  #10001f ;
  --hsElevate--button--secondary__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--secondary__backgroundColor: transparent;
    --hsElevate--button--secondary__hover--backgroundColor:  #e5e5f2 ;
      
    

  --hsElevate--button--secondary__borderThickness:  1px ;
  --hsElevate--button--secondary__hover--borderThickness:  1px ;

    
    --hsElevate--button--secondary__borderColor:  #FFFFFF ;
    --hsElevate--button--secondary__hover--borderColor:  #e5e5f2 ;
      
    

  /* Primary outline button variables */
  --hsElevate--button--primary-outline__buttonFill:  no_fill ;
    
  --hsElevate--button--primary-outline__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--primary-outline__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--primary-outline__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--primary-outline__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--primary-outline__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--primary-outline__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--primary-outline__textColor:  #342775 ;
  --hsElevate--button--primary-outline__hover--textColor:  #F1F1F8 ;
  --hsElevate--button--primary-outline__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--primary-outline__backgroundColor: transparent;
    --hsElevate--button--primary-outline__hover--backgroundColor:  #342775 ;
      
    

  --hsElevate--button--primary-outline__borderThickness:  2px ;
  --hsElevate--button--primary-outline__hover--borderThickness:  2px ;

    
    --hsElevate--button--primary-outline__borderColor:  #342775 ;
    --hsElevate--button--primary-outline__hover--borderColor:  #342775 ;
      
    --hsElevate--button--primary-outline__active--borderColor:  #160957 ;
    

  /* Secondary outline button variables */
  --hsElevate--button--secondary-outline__buttonFill:  no_fill ;
    
  --hsElevate--button--secondary-outline__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--secondary-outline__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--secondary-outline__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--secondary-outline__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--secondary-outline__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--secondary-outline__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--secondary-outline__textColor:  #FFB600 ;
  --hsElevate--button--secondary-outline__hover--textColor:  #342775 ;
  --hsElevate--button--secondary-outline__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--secondary-outline__backgroundColor: transparent;
    --hsElevate--button--secondary-outline__hover--backgroundColor:  #FFB600 ;
      
    

  --hsElevate--button--secondary-outline__borderThickness:  2px ;
  --hsElevate--button--secondary-outline__hover--borderThickness:  2px ;

    
    --hsElevate--button--secondary-outline__borderColor:  #FFB600 ;
    --hsElevate--button--secondary-outline__hover--borderColor:  #FFB600 ;
      
    

  /* Dark primary button variables */
  --hsElevate--button--dark-primary__buttonFill:  filled ;
    
  --hsElevate--button--dark-primary__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--dark-primary__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--dark-primary__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--dark-primary__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--dark-primary__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--dark-primary__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--dark-primary__textColor:  #342775 ;
  --hsElevate--button--dark-primary__hover--textColor:  #342775 ;
  --hsElevate--button--dark-primary__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--dark-primary__backgroundColor:  #F1F1F8 ;
      
    

  --hsElevate--button--dark-primary__borderThickness:  0px ;
  --hsElevate--button--dark-primary__hover--borderThickness:  0px ;

    
    --hsElevate--button--dark-primary__borderColor: transparent;
    --hsElevate--button--dark-primary__hover--borderColor: transparent;
    

  /* Dark primary outline button variables */
  --hsElevate--button--dark-primary-outline__buttonFill:  no_fill ;
    
  --hsElevate--button--dark-primary-outline__fontFamily: var(--hsElevate--cta__fontFamily);
  --hsElevate--button--dark-primary-outline__fontSize: var(--hsElevate--cta__fontSize);
  --hsElevate--button--dark-primary-outline__fontWeight: var(--hsElevate--cta__fontWeight);
  --hsElevate--button--dark-primary-outline__fontStyle: var(--hsElevate--cta__fontStyle);
  --hsElevate--button--dark-primary-outline__letterSpacing: var(--hsElevate--cta__letterSpacing);
  --hsElevate--button--dark-primary-outline__textTransform: var(--hsElevate--cta__textTransform);
    
  --hsElevate--button--dark-primary-outline__textColor:  #F1F1F8 ;
  --hsElevate--button--dark-primary-outline__hover--textColor:  #342775 ;
  --hsElevate--button--dark-primary-outline__borderRadius: var(--hsElevate--radius--small);

    
    --hsElevate--button--dark-primary-outline__backgroundColor: transparent;
    --hsElevate--button--dark-primary-outline__hover--backgroundColor:  #F1F1F8 ;
      
    

  --hsElevate--button--dark-primary-outline__borderThickness:  2px ;
  --hsElevate--button--dark-primary-outline__hover--borderThickness:  2px ;

    
    --hsElevate--button--dark-primary-outline__borderColor:  #F1F1F8 ;
    --hsElevate--button--dark-primary-outline__hover--borderColor:  #F1F1F8 ;
      
    

  /* Link button variables */
    
  --hsElevate--button--link__fontSize: var(--hsElevate--body--small__fontSize);
  --hsElevate--button--link__fontWeight: var(--hsElevate--body__fontWeight);
  --hsElevate--button--link__letterSpacing: 0em;
  --hsElevate--button--link__textTransform: none;
    
  --hsElevate--button--link__textColor:  #10001F ;
  --hsElevate--button--link__decorationColor:  #10001F ;
  --hsElevate--button--link__hover--textColor:  #342775 ;
  --hsElevate--button--link__hover--decorationColor:  #342775 ;

  /* Dark link button variables */
    
  --hsElevate--button--dark-link__fontSize: var(--hsElevate--body--small__fontSize);
  --hsElevate--button--dark-link__fontWeight: var(--hsElevate--body__fontWeight);
  --hsElevate--button--dark-link__letterSpacing: 0em;
  --hsElevate--button--dark-link__textTransform: none;
    
  --hsElevate--button--dark-link__textColor:  #FFFFFF ;
  --hsElevate--button--dark-link__decorationColor:  #FFFFFF ;
  --hsElevate--button--dark-link__hover--textColor:  #FFFFFF ;
  --hsElevate--button--dark-link__hover--decorationColor:  #FFFFFF ;

}

  

  

:root {
  /* Form field background color */
    
    --hsElevate--formField__backgroundColor:  #F1F1F8 ;
    

  /* Form field shape */
    
      
    

    
    --hsElevate--formField__borderRadius: var(--hsElevate--radius--small);
    

  /* Form field border -- multiple fields to properly handle field visibility for both fill and no fill */
    
      
    

  /* Proper usage of variables to achieve "All" or "Bottom" will be within CSS */
    
    --hsElevate--formField__borderThickness:  1px ;
    

    
    --hsElevate--formField__borderTop:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderRight:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderLeft:  1px solid #D3DAE4 ;
    

    
    --hsElevate--formField__borderBottom:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderColor:  #D3DAE4 ;
    

    

    

  /* Form field text color */
  --hsElevate--formFieldInput__textColor:  #10001F ;

  /* Form field spacing */
  --hsElevate--formField__marginBottom: var(--hsElevate--spacing--32);

  /* Form textarea border radius */
  --hsElevate--formFieldTextArea__borderRadius: calc(var(--hsElevate--formField__borderRadius) * 0.5);

  /* Form field checkbox/radio */
  --hsElevate--formFieldCheckboxRadio__size: 24px;
  --hsElevate--formFieldCheckboxRadio__fillColor: #000000;

  /* Form field placeholder */
  --hsElevate--formFieldPlaceholder__textColor:  #7d8ca5 ;

  /* Form required field color */
  --hsElevate--formRequired__color: #de2828;

  /* Form field datepicker icon */
  --hsElevate--formField__datepickerIcon: url("data:image/svg+xml,%3Csvg width='24' height='29' viewBox='0 0 24 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_3812_12272)'%3E%3Cpath d='M8.14286 2.07136C8.14286 1.35886 7.56964 0.785645 6.85714 0.785645C6.14464 0.785645 5.57143 1.35886 5.57143 2.07136V4.21422H3.42857C1.5375 4.21422 0 5.75172 0 7.64279V8.49993V11.0714V24.7856C0 26.6767 1.5375 28.2142 3.42857 28.2142H20.5714C22.4625 28.2142 24 26.6767 24 24.7856V11.0714V8.49993V7.64279C24 5.75172 22.4625 4.21422 20.5714 4.21422H18.4286V2.07136C18.4286 1.35886 17.8554 0.785645 17.1429 0.785645C16.4304 0.785645 15.8571 1.35886 15.8571 2.07136V4.21422H8.14286V2.07136ZM2.57143 11.0714H21.4286V24.7856C21.4286 25.2571 21.0429 25.6428 20.5714 25.6428H3.42857C2.95714 25.6428 2.57143 25.2571 2.57143 24.7856V11.0714Z' fill='%2309152B'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3812_12272'%3E%3Crect width='24' height='27.4286' fill='white' transform='translate(0 0.785645)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");

  /* Form field select icon */
  --hsElevate--formField__selectIcon: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9407 19.5595C11.5267 20.1454 12.4782 20.1454 13.0642 19.5595L22.0642 10.5595C22.6501 9.97354 22.6501 9.02197 22.0642 8.43604C21.4782 7.8501 20.5267 7.8501 19.9407 8.43604L12.0001 16.3767L4.05947 8.44072C3.47354 7.85478 2.52197 7.85478 1.93604 8.44072C1.3501 9.02666 1.3501 9.97822 1.93604 10.5642L10.936 19.5642L10.9407 19.5595Z' fill='%2309152B'/%3E%3C/svg%3E%0A");

  /* Textarea drag icon */
  --hsElevate--formField__dragIcon: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='-1' x2='29.5206' y2='-1' transform='matrix(-0.666795 0.745241 -0.806754 -0.590888 19.6843 0)' stroke='%23303F59' stroke-width='2'/%3E%3Cpath d='M21.0005 9.99756L10.5005 21.9976' stroke='%23303F59' stroke-width='2'/%3E%3C/svg%3E%0A");

  /* Label text */
  --hsElevate--formLabel__textColor:  #10001F ;
  --hsElevate--formLabel__font: "Inter", sans-serif;
  --hsElevate--formLabel__fontSize:  1.125rem ;
  --hsElevate--formLabel__fontWeight:  500 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);

  /* Help text */
  --hsElevate--formHelpText__textColor: #647390;

  /* Form background color */
    
    --hsElevate--form__backgroundColor:  #F1F1F8 ;
    

  /* Form shape */
    
      
    

    
    --hsElevate--form__borderRadius: var(--hsElevate--radius--large);
    

  /* Form border */
    
    --hsElevate--form__borderThickness:  1px ;
    --hsElevate--form__borderColor:  #D3DAE4 ;
    

  /* Form spacing */
  --hsElevate--form__padding: var(--hsElevate--spacing--48);

  /* CSS variables for new forms */

  /* Global vars */
  --hsf-global__font-family: var(--hsElevate--formLabel__font);
  --hsf-global__font-size: var(--hsElevate--formLabel__fontSize);
  --hsf-global__color: var(--hsElevate--formLabel__textColor);
  --hsf-global-error__color: var(--hsElevate--formRequired__color);

  /* Form */
  --hsf-background__background-color: var(--hsElevate--form__backgroundColor);
  --hsf-background__padding: var(--hsElevate--form__padding);
  --hsf-background__border-style: solid;
  --hsf-background__border-color: var(--hsElevate--form__borderColor);
  --hsf-background__border-radius: var(--hsElevate--form__borderRadius);
  --hsf-background__border-width: var(--hsElevate--form__borderThickness);

  /* Content */
  --hsf-heading__font-family: var(--hsf-global__font-family);
  --hsf-heading__color: var(--hsf-global__color);
  --hsf-heading__text-shadow: none;
  --hsf-richtext__font-family: var(--hsf-global__font-family);
  --hsf-richtext__font-size: var(--hsf-global__font-size);
  --hsf-richtext__color: var(--hsf-global__color);

  /* Labels */
  --hsf-field-label__font-family: var(--hsf-global__font-family);
  --hsf-field-label__font-size: var(--hsf-global__font-size);
  --hsf-field-label__color: var(--hsf-global__color);
  --hsf-field-label-requiredindicator__color: var(--hsf-global-error__color);
  --hsf-module__vertical-spacing: var(--hsElevate--formLabel__marginBottom);

  /* Help text */
  --hsf-field-description__font-family: var(--hsf-global__color);
  --hsf-field-description__color: var(--hsElevate--formHelpText__textColor);

  /* Errors */
  --hsf-erroralert__font-family: var(--hsElevate--formLabel__font);
  --hsf-erroralert__color: var(--hsf-global-error__color);

  /* Field footer */
  --hsf-field-footer__font-family: var(--hsf-field-description__font-family);
  --hsf-field-footer__color: var(--hsf-field-description__color);

  /* Field */
  --hsf-field-input__font-family: var(--hsf-global__font-family);
  --hsf-field-input__background-color: var(--hsElevate--formField__backgroundColor);
  --hsf-field-input__placeholder-color: var(--hsElevate--formFieldPlaceholder__textColor);
  --hsf-field-input__border-color: var(--hsElevate--formField__borderColor);
    
    --hsf-field-input__border-width: var(--hsElevate--formField__borderThickness);
    ;
  --hsf-field-input__border-style: solid;
  --hsf-field-input__border-radius: var(--hsElevate--formField__borderRadius);
  --hsf-field-input__padding: var(--hsElevate--spacing--20) var(--hsElevate--spacing--32);
  --hsf-field-input__color: var(--hsElevate--formFieldInput__textColor);
  --hsf-row__vertical-spacing: var(--hsElevate--formField__marginBottom);
  --hsf-row__horizontal-spacing: var(--hsElevate--spacing--32);

  /* Textarea */
  --hsf-field-textarea__font-family: var(--hsf-field-input__font-family);
  --hsf-field-textarea__color: var(--hsf-field-input__color);
  --hsf-field-textarea__background-color: var(--hsf-field-input__background-color);
  --hsf-field-textarea__border-color: var(--hsf-field-input__border-color);
  --hsf-field-textarea__border-style: var(--hsf-field-input__border-style);
  --hsf-field-textarea__border-radius: var(--hsElevate--formFieldTextArea__borderRadius);
  --hsf-field-textarea__padding: var(--hsf-field-input__padding);

  /* Checkbox */
  --hsf-field-checkbox__padding: calc(var(--hsElevate--formFieldCheckboxRadio__size) / 2);
  --hsf-field-checkbox__background-color: #fff;
  --hsf-field-checkbox__color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  --hsf-field-checkbox__border-color: var(--hsf-field-input__border-color);
  --hsf-field-checkbox__border-width: 1px 1px 1px 1px;
  --hsf-field-checkbox__border-style: var(--hsf-field-input__border-style);

  /* Radio */
  --hsf-field-radio__padding: calc(var(--hsElevate--formFieldCheckboxRadio__size) / 2);
  --hsf-field-radio__background-color: #fff;
  --hsf-field-radio__color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  --hsf-field-radio__border-color: var(--hsf-field-input__border-color);
  --hsf-field-radio__border-width: 1px 1px 1px 1px;
  --hsf-field-radio__border-style: var(--hsf-field-input__border-style);

  /* Progress bar CSS vars:
    - --hsf-progressbar__font-family
    - --hsf-progressbar__font-family
    - --hsf-progressbar__font-size
    - --hsf-progressbar__color
    - --hsf-progressbar__background-color
    - --hsf-progressbar__background
    - --hsf-progressbar__border-color
    - --hsf-progressbar__border-style
    - --hsf-progressbar__border-width
  */

  /* Button */
  --hsf-button__width: 100%;
  --hsf-button__font-family: var(--hsElevate--button--primary__font);
  --hsf-button__font-size: var(--hsElevate--button--primary__fontSize);
  --hsf-button__font-weight: var(--hsElevate--button--primary__fontWeight);
  --hsf-button__color: var(--hsElevate--button--primary__textColor);
  --hsf-button__background-color: var(--hsElevate--button--primary__backgroundColor);
  --hsf-button__background-image: none;
  --hsf-button__border-radius: var(--hsElevate--button--primary__borderRadius);
  --hsf-button__border-width: var(--hsElevate--button--primary__borderThickness);
  --hsf-button__border-style: solid;
  --hsf-button__border-color: var(--hsElevate--button--primary__borderColor);
  --hsf-button__padding: var(--hsElevate--spacing--20) var(--hsElevate--spacing--24);
  --hsf-button__box-shadow: none;
  --hsf-button--hover__color: var(--hsElevate--button--primary__hover--textColor);
  --hsf-button--hover__background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  --hsf-button--hover__border-color: var(--hsElevate--button--primary__hover--borderColor);
  --hsf-button--focus__color: var(--hsElevate--button--primary__hover--textColor);
  --hsf-button--focus__background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  --hsf-button--focus__border-color: var(--hsElevate--button--primary__hover--borderColor);
}

  

  

  

  

:root {
  /* Card variant 1 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant1__borderRadius: var(--hsElevate--radius--large);
    --hsElevate--card--variant1__iconBorderRadius: var(--hsElevate--radius--medium);
    

  /* Border thickness */
  --hsElevate--card--variant1__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant1__backgroundColor:  #F1F1F8 ;
    

    
    --hsElevate--card--variant1__borderColor:  #4B48B7 ;
    

  --hsElevate--card--variant1__textColor:  #000000 ;
  --hsElevate--card--variant1__bodyColor:  #525252 ;

  /* Links */
    
      
    

  --hsElevate--card--variant1--link__fontColor:  #342775 ;

    
    --hsElevate--card--variant1--link__textDecoration: none;
    --hsElevate--card--variant1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant1--link__hover--fontColor:  #342775 ;
    
    --hsElevate--card--variant1--link__hover--textDecoration: underline;
    --hsElevate--card--variant1--link__hover--textDecorationColor:  #342775 ;
    

  /* Icon colors */

  --hsElevate--card--variant1__iconColor:  #4B48B7 ;
  --hsElevate--card--variant1__iconBackgroundColor:  #4B48B7 ;

  /* Card variant 2 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant2__borderRadius: var(--hsElevate--radius--large);
    --hsElevate--card--variant2__iconBorderRadius: var(--hsElevate--radius--medium);
    

  /* Border thickness */
  --hsElevate--card--variant2__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant2__backgroundColor:  #F1F1F8 ;
    

    
    --hsElevate--card--variant2__borderColor:  #FFB600 ;
    

  --hsElevate--card--variant2__textColor:  #000000 ;
  --hsElevate--card--variant2__bodyColor:  #525252 ;

  /* Links */
    
      
    

  --hsElevate--card--variant2--link__fontColor:  #342775 ;

    
    --hsElevate--card--variant2--link__textDecoration: none;
    --hsElevate--card--variant2--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant2--link__hover--fontColor:  #342775 ;
    
    --hsElevate--card--variant2--link__hover--textDecoration: underline;
    --hsElevate--card--variant2--link__hover--textDecorationColor:  #342775 ;
    

  /* Icon colors */

  --hsElevate--card--variant2__iconColor:  #FFB600 ;
  --hsElevate--card--variant2__iconBackgroundColor:  #FFB600 ;


}

  

  

:root {
  /* Accordion variant 1 */

  /* Shape */
    
    --hsElevate--accordion--variant1__borderRadius: var(--hsElevate--radius--large);
    

  /* Border */
  --hsElevate--accordion--variant1__borderThickness:  1px ;

    
    --hsElevate--accordion--variant1__borderColor:  #4B48B7 ;
    

  /* Colors */
    
    
    --hsElevate--accordion--variant1__backgroundColor: transparent;
    
  --hsElevate--accordion--variant1__hoverColor:  #342775 ;
  --hsElevate--accordion--variant1__textColor:  #FFFFFF ;
  --hsElevate--accordion--variant1__bodyColor:  #FFFFFF ;
  --hsElevate--accordion--variant1__iconColor:  #FFFFFF ;


  /* Accordion variant 2 */

  /* Shape */
    
    --hsElevate--accordion--variant2__borderRadius: var(--hsElevate--radius--large);
    

  /* Border */
  --hsElevate--accordion--variant2__borderThickness:  1px ;

    
    --hsElevate--accordion--variant2__borderColor:  #4B48B7 ;
    

  /* Colors */
  --hsElevate--accordion--variant2__backgroundColor:  #F1F1F8 ;
  --hsElevate--accordion--variant2__hoverColor:  #F5F5F5 ;
  --hsElevate--accordion--variant2__textColor:  #000000 ;
  --hsElevate--accordion--variant2__bodyColor:  #525252 ;
  --hsElevate--accordion--variant2__iconColor:  #4B48B7 ;


}

  

  

:root {
  /* Accordion with Image — Variant 1 (Dark) */

  /* Shape */
    
    --hsElevate--awi--variant1__borderRadius: 0;
    

  /* Border */
  --hsElevate--awi--variant1__borderThickness:  1px ;

    
    --hsElevate--awi--variant1__borderColor:  #ffffff ;
    

  /* Summary padding */
    
    --hsElevate--awi--variant1__summaryPaddingTop: var(--hsElevate--spacing--16, 16px);
    

    
    --hsElevate--awi--variant1__summaryPaddingBottom: var(--hsElevate--spacing--16, 16px);
    

  /* Detail padding */
  --hsElevate--awi--variant1__paddingTop:  0px ;
  --hsElevate--awi--variant1__paddingRight:  0px ;
  --hsElevate--awi--variant1__paddingBottom:  0px ;
  --hsElevate--awi--variant1__paddingLeft:  0px ;

  /* Colors */
  --hsElevate--awi--variant1__backgroundColor:  #10001F ;
  --hsElevate--awi--variant1__activeBgColor:  #10001F ;
  --hsElevate--awi--variant1__textColor:  #ffffff ;
  --hsElevate--awi--variant1__hoverTextColor:  #4B48B7 ;
  --hsElevate--awi--variant1__bodyColor:  #E0E0E0 ;
  --hsElevate--awi--variant1__stageColor:  #4B48B7 ;

    
    --hsElevate--awi--variant1__hoverBorderColor:  #4B48B7 ;
    


  /* Accordion with Image — Variant 2 (Light) */

  /* Shape */
    
    --hsElevate--awi--variant2__borderRadius: 0;
    

  /* Border */
  --hsElevate--awi--variant2__borderThickness:  1px ;

    
    --hsElevate--awi--variant2__borderColor:  #000000 ;
    

  /* Summary padding */
    
    --hsElevate--awi--variant2__summaryPaddingTop: var(--hsElevate--spacing--16, 16px);
    

    
    --hsElevate--awi--variant2__summaryPaddingBottom: var(--hsElevate--spacing--16, 16px);
    

  /* Detail padding */
  --hsElevate--awi--variant2__paddingTop:  24px ;
  --hsElevate--awi--variant2__paddingRight:  24px ;
  --hsElevate--awi--variant2__paddingBottom:  24px ;
  --hsElevate--awi--variant2__paddingLeft:  24px ;

  /* Colors */
  --hsElevate--awi--variant2__backgroundColor:  #F1F1F8 ;
  --hsElevate--awi--variant2__activeBgColor:  #F5F5F5 ;
  --hsElevate--awi--variant2__textColor:  #000000 ;
  --hsElevate--awi--variant2__hoverTextColor:  #4B48B7 ;
  --hsElevate--awi--variant2__bodyColor:  #525252 ;
  --hsElevate--awi--variant2__stageColor:  #4B48B7 ;

    
    --hsElevate--awi--variant2__hoverBorderColor:  #4B48B7 ;
    
}

  

  

  

  

  

  

  

  

:root {

  /* Light section 1 */
  --hsElevate--section--lightSection--1__backgroundColor:  #F1F1F8 ;
  --hsElevate--section--lightSection--1__textColor:  #000000 ;
  --hsElevate--section--lightSection--1__headingColor:  #000000 ;
  --hsElevate--section--lightSection--1__bodyColor:  #525252 ;
  --hsElevate--section--lightSection--1__accentColor:  #342775 ;
  --hsElevate--section--lightSection--1__captionColor:  #647390 ;
  --hsElevate--section--lightSection--1__eyebrowColor: var(--hsElevate--eyebrow__color--light);
  --hsElevate--section--lightSection--1__statColor: var(--hsElevate--stat__color--light);
  --hsElevate--section--lightSection--1--blockquote__textColor:  #10001F ;
  --hsElevate--section--lightSection--1--blockquote__backgroundColor:  #F1F1F8 ;
  --hsElevate--section--lightSection--1--blockquote__accentColor:  #342775 ;

    
      
    

  --hsElevate--section--lightSection--1--link__fontColor:  #342775 ;

    
    --hsElevate--section--lightSection--1--link__textDecoration: none;
    --hsElevate--section--lightSection--1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--lightSection--1--link__hover--fontColor:  #342775 ;
    
    --hsElevate--section--lightSection--1--link__hover--textDecoration: underline;
    --hsElevate--section--lightSection--1--link__hover--textDecorationColor:  #342775 ;
    

  /* Dark section 1 */
  --hsElevate--section--darkSection--1__backgroundColor:  #10001F ;
  --hsElevate--section--darkSection--1__textColor:  #FFFFFF ;
  --hsElevate--section--darkSection--1__headingColor:  #FFFFFF ;
  --hsElevate--section--darkSection--1__bodyColor:  #FFFFFF ;
  --hsElevate--section--darkSection--1__accentColor:  #342775 ;
  --hsElevate--section--darkSection--1__captionColor:  #7D8CA5 ;
  --hsElevate--section--darkSection--1__eyebrowColor: var(--hsElevate--eyebrow__color--dark);
  --hsElevate--section--darkSection--1__statColor: var(--hsElevate--stat__color--dark);
  --hsElevate--section--darkSection--1--blockquote__textColor:  #F1F1F8 ;
  --hsElevate--section--darkSection--1--blockquote__backgroundColor:  #18233B ;
  --hsElevate--section--darkSection--1--blockquote__accentColor:  #342775 ;

    
      
    

  --hsElevate--section--darkSection--1--link__fontColor:  #342775 ;

    
    --hsElevate--section--darkSection--1--link__textDecoration: none;
    --hsElevate--section--darkSection--1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--darkSection--1--link__hover--fontColor:  #342775 ;
    
    --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
    --hsElevate--section--darkSection--1--link__hover--textDecorationColor:  #342775 ;
    

  /* Body color mode — background is independent (overridable in forks), text/heading from section scheme */
    
    
    --hsElevate--body__backgroundColor:  #10001F ;
    --hsElevate--body__textColor: var(--hsElevate--section--darkSection--1__bodyColor);
    --hsElevate--body__headingColor: var(--hsElevate--section--darkSection--1__headingColor);
    
}

  

:root {
  /* Font */
  --hsElevate--tag__font: "Inter", sans-serif;
  --hsElevate--tag__fontColor:   ;
  --hsElevate--tag__fontSize:  0.875rem ;
  --hsElevate--tag__fontWeight:  500 ;
  --hsElevate--tag__fontStyle:  normal ;

  /* Text colors */
  --hsElevate--tag__textColor:  #063E95 ;

  /* Background colors */
    
    --hsElevate--tag__backgroundColor:  #E5F0FF ;
    

  /* Shape */
    
      
    

    
    --hsElevate--tag__borderRadius: 50px;
    

  /* Border thickness */
  --hsElevate--tag__borderThickness:  1px ;
  --hsElevate--tag__borderColor:  #E5F0FF ;

  /* Case */
  --hsElevate--tag__case:  none ;
}

:root {
    /* Border radius based on shape */
    --hsElevate-sharp: 0;
    --hsElevate-rounded--extra-small: 4px;
    --hsElevate-rounded--small: 8px;
    --hsElevate-rounded: 16px;
    --hsElevate-rounded--large: 24px;
    --hsElevate-rounded--extra-large: 32px;
    --hsElevate-circle: 50%;
}

  

  

  

  

:root {
  /* Icon sizes & padding - Desktop (from display heading theme settings) */
  --hsElevate--icon--display__size:  56px ;
  --hsElevate--icon--display__padding:  18px ;
  --hsElevate--icon--display__margin:  22px ;
  --hsElevate--icon--display__borderRadius:  18px ;

  /* Icon sizes & padding - Desktop (from heading theme settings) */
  --hsElevate--icon--heading1__size:  48px ;
  --hsElevate--icon--heading1__padding:  16px ;
  --hsElevate--icon--heading1__margin:  20px ;
  --hsElevate--icon--heading1__borderRadius:  16px ;
  --hsElevate--icon--heading2__size:  40px ;
  --hsElevate--icon--heading2__padding:  14px ;
  --hsElevate--icon--heading2__margin:  18px ;
  --hsElevate--icon--heading2__borderRadius:  14px ;
  --hsElevate--icon--heading3__size:  32px ;
  --hsElevate--icon--heading3__padding:  12px ;
  --hsElevate--icon--heading3__margin:  16px ;
  --hsElevate--icon--heading3__borderRadius:  12px ;
  --hsElevate--icon--heading4__size:  24px ;
  --hsElevate--icon--heading4__padding:  10px ;
  --hsElevate--icon--heading4__margin:  14px ;
  --hsElevate--icon--heading4__borderRadius:  10px ;
  --hsElevate--icon--heading5__size:  20px ;
  --hsElevate--icon--heading5__padding:  8px ;
  --hsElevate--icon--heading5__margin:  12px ;
  --hsElevate--icon--heading5__borderRadius:  8px ;
  --hsElevate--icon--heading6__size:  16px ;
  --hsElevate--icon--heading6__padding:  6px ;
  --hsElevate--icon--heading6__margin:  10px ;
  --hsElevate--icon--heading6__borderRadius:  6px ;

  /* Icon sizes & padding - Desktop (from body/eyebrow theme settings) */
  --hsElevate--icon--eyebrow__size:  20px ;
  --hsElevate--icon--eyebrow__padding:  10px ;
  --hsElevate--icon--eyebrow__margin:  8px ;
  --hsElevate--icon--eyebrow__borderRadius:  10px ;
  --hsElevate--icon--bodyLg__size:  18px ;
  --hsElevate--icon--bodyLg__padding:  6px ;
  --hsElevate--icon--bodyLg__margin:  10px ;
  --hsElevate--icon--bodyLg__borderRadius:  8px ;
  --hsElevate--icon--bodyMd__size:  16px ;
  --hsElevate--icon--bodyMd__padding:  4px ;
  --hsElevate--icon--bodyMd__margin:  8px ;
  --hsElevate--icon--bodyMd__borderRadius:  6px ;
  --hsElevate--icon--bodySm__size:  14px ;
  --hsElevate--icon--bodySm__padding:  4px ;
  --hsElevate--icon--bodySm__margin:  8px ;
  --hsElevate--icon--bodySm__borderRadius:  6px ;

  /* Icon sizes & padding - Desktop (from list theme settings) */
  --hsElevate--icon--listLg__size:  18px ;
  --hsElevate--icon--listLg__padding:  6px ;
  --hsElevate--icon--listLg__margin:  10px ;
  --hsElevate--icon--listLg__borderRadius:  8px ;
  --hsElevate--icon--listMd__size:  16px ;
  --hsElevate--icon--listMd__padding:  4px ;
  --hsElevate--icon--listMd__margin:  8px ;
  --hsElevate--icon--listMd__borderRadius:  6px ;
  --hsElevate--icon--listSm__size:  14px ;
  --hsElevate--icon--listSm__padding:  4px ;
  --hsElevate--icon--listSm__margin:  8px ;
  --hsElevate--icon--listSm__borderRadius:  6px ;

  /* Material Symbols fill setting (theme-level toggle) */
    
    --hsElevate--icon--material__fill: 0;
    

  /* Icon style variants — mapped to semantic color roles */

  /* Primary — primary bg, light text icon */
  --hsElevate--icon--primary__color:  #FFFFFF ;
  --hsElevate--icon--primary__backgroundColor:  #342775 ;

  /* Primary Light — secondary bg, dark text icon */
  --hsElevate--icon--primaryLight__color:  #10001F ;
  --hsElevate--icon--primaryLight__backgroundColor:  #FFB600 ;

  /* Secondary — accent 1 bg, light text icon */
  --hsElevate--icon--secondary__color:  #FFFFFF ;
  --hsElevate--icon--secondary__backgroundColor:  #4B48B7 ;

  /* Surface — light bg, dark text icon */
  --hsElevate--icon--surface__color:  #10001F ;
  --hsElevate--icon--surface__backgroundColor:  #F1F1F8 ;

  /* Highlight — accent 2 bg, dark text icon */
  --hsElevate--icon--highlight__color:  #10001F ;
  --hsElevate--icon--highlight__backgroundColor:  #A69EEF ;
}

/* Tablet Breakpoint - 768px to 1024px */

@media (max-width: 1024px) {
  :root {
    --hsElevate--icon--display__size:  56px ;
    --hsElevate--icon--display__padding:  18px ;
    --hsElevate--icon--display__margin:  22px ;
    --hsElevate--icon--display__borderRadius:  18px ;
    --hsElevate--icon--heading1__size:  40px ;
    --hsElevate--icon--heading1__padding:  14px ;
    --hsElevate--icon--heading1__margin:  18px ;
    --hsElevate--icon--heading1__borderRadius:  14px ;
    --hsElevate--icon--heading2__size:  32px ;
    --hsElevate--icon--heading2__padding:  12px ;
    --hsElevate--icon--heading2__margin:  16px ;
    --hsElevate--icon--heading2__borderRadius:  12px ;
    --hsElevate--icon--heading3__size:  28px ;
    --hsElevate--icon--heading3__padding:  10px ;
    --hsElevate--icon--heading3__margin:  14px ;
    --hsElevate--icon--heading3__borderRadius:  10px ;
    --hsElevate--icon--heading4__size:  20px ;
    --hsElevate--icon--heading4__padding:  8px ;
    --hsElevate--icon--heading4__margin:  12px ;
    --hsElevate--icon--heading4__borderRadius:  10px ;
    --hsElevate--icon--heading5__size:  18px ;
    --hsElevate--icon--heading5__padding:  6px ;
    --hsElevate--icon--heading5__margin:  10px ;
    --hsElevate--icon--heading5__borderRadius:  8px ;
    --hsElevate--icon--heading6__size:  14px ;
    --hsElevate--icon--heading6__padding:  6px ;
    --hsElevate--icon--heading6__margin:  10px ;
    --hsElevate--icon--heading6__borderRadius:  6px ;

    --hsElevate--icon--eyebrow__size:  16px ;
    --hsElevate--icon--eyebrow__padding:  8px ;
    --hsElevate--icon--eyebrow__margin:  8px ;
    --hsElevate--icon--eyebrow__borderRadius:  8px ;
    --hsElevate--icon--bodyLg__size:  18px ;
    --hsElevate--icon--bodyLg__padding:  6px ;
    --hsElevate--icon--bodyLg__margin:  10px ;
    --hsElevate--icon--bodyLg__borderRadius:  8px ;
    --hsElevate--icon--bodyMd__size:  14px ;
    --hsElevate--icon--bodyMd__padding:  4px ;
    --hsElevate--icon--bodyMd__margin:  8px ;
    --hsElevate--icon--bodyMd__borderRadius:  6px ;
    --hsElevate--icon--bodySm__size:  12px ;
    --hsElevate--icon--bodySm__padding:  4px ;
    --hsElevate--icon--bodySm__margin:  8px ;
    --hsElevate--icon--bodySm__borderRadius:  6px ;

    --hsElevate--icon--listLg__size:  18px ;
    --hsElevate--icon--listLg__padding:  6px ;
    --hsElevate--icon--listLg__margin:  10px ;
    --hsElevate--icon--listLg__borderRadius:  8px ;
    --hsElevate--icon--listMd__size:  14px ;
    --hsElevate--icon--listMd__padding:  4px ;
    --hsElevate--icon--listMd__margin:  8px ;
    --hsElevate--icon--listMd__borderRadius:  6px ;
    --hsElevate--icon--listSm__size:  12px ;
    --hsElevate--icon--listSm__padding:  4px ;
    --hsElevate--icon--listSm__margin:  8px ;
    --hsElevate--icon--listSm__borderRadius:  6px ;
  }
}

/* Mobile Breakpoint - < 768px */

@media (max-width: 768px) {
  :root {
    --hsElevate--icon--display__size:  48px ;
    --hsElevate--icon--display__padding:  16px ;
    --hsElevate--icon--display__margin:  20px ;
    --hsElevate--icon--display__borderRadius:  16px ;
    --hsElevate--icon--heading1__size:  32px ;
    --hsElevate--icon--heading1__padding:  12px ;
    --hsElevate--icon--heading1__margin:  16px ;
    --hsElevate--icon--heading1__borderRadius:  12px ;
    --hsElevate--icon--heading2__size:  28px ;
    --hsElevate--icon--heading2__padding:  10px ;
    --hsElevate--icon--heading2__margin:  14px ;
    --hsElevate--icon--heading2__borderRadius:  10px ;
    --hsElevate--icon--heading3__size:  24px ;
    --hsElevate--icon--heading3__padding:  8px ;
    --hsElevate--icon--heading3__margin:  12px ;
    --hsElevate--icon--heading3__borderRadius:  10px ;
    --hsElevate--icon--heading4__size:  18px ;
    --hsElevate--icon--heading4__padding:  6px ;
    --hsElevate--icon--heading4__margin:  10px ;
    --hsElevate--icon--heading4__borderRadius:  8px ;
    --hsElevate--icon--heading5__size:  16px ;
    --hsElevate--icon--heading5__padding:  6px ;
    --hsElevate--icon--heading5__margin:  10px ;
    --hsElevate--icon--heading5__borderRadius:  6px ;
    --hsElevate--icon--heading6__size:  14px ;
    --hsElevate--icon--heading6__padding:  6px ;
    --hsElevate--icon--heading6__margin:  8px ;
    --hsElevate--icon--heading6__borderRadius:  6px ;

    --hsElevate--icon--eyebrow__size:  16px ;
    --hsElevate--icon--eyebrow__padding:  8px ;
    --hsElevate--icon--eyebrow__margin:  8px ;
    --hsElevate--icon--eyebrow__borderRadius:  8px ;
    --hsElevate--icon--bodyLg__size:  16px ;
    --hsElevate--icon--bodyLg__padding:  4px ;
    --hsElevate--icon--bodyLg__margin:  8px ;
    --hsElevate--icon--bodyLg__borderRadius:  6px ;
    --hsElevate--icon--bodyMd__size:  14px ;
    --hsElevate--icon--bodyMd__padding:  4px ;
    --hsElevate--icon--bodyMd__margin:  8px ;
    --hsElevate--icon--bodyMd__borderRadius:  6px ;
    --hsElevate--icon--bodySm__size:  12px ;
    --hsElevate--icon--bodySm__padding:  4px ;
    --hsElevate--icon--bodySm__margin:  8px ;
    --hsElevate--icon--bodySm__borderRadius:  6px ;

    --hsElevate--icon--listLg__size:  16px ;
    --hsElevate--icon--listLg__padding:  4px ;
    --hsElevate--icon--listLg__margin:  8px ;
    --hsElevate--icon--listLg__borderRadius:  6px ;
    --hsElevate--icon--listMd__size:  14px ;
    --hsElevate--icon--listMd__padding:  4px ;
    --hsElevate--icon--listMd__margin:  8px ;
    --hsElevate--icon--listMd__borderRadius:  6px ;
    --hsElevate--icon--listSm__size:  12px ;
    --hsElevate--icon--listSm__padding:  4px ;
    --hsElevate--icon--listSm__margin:  8px ;
    --hsElevate--icon--listSm__borderRadius:  6px ;
  }
}

/* Image settings from theme */

  

:root {
    
    --hsElevate--image__borderRadius: var(--hsElevate--radius--large);
    
}

/* ==========================================================================
   Sprout Fork-Specific Styles
   ==========================================================================
   Styles unique to the Sprout client fork. Not present in the upstream
   master theme. Imported last in settings so it can reference all vars.
   ========================================================================== */

/* Body background images
   --------------------------------------------------------------------------
   Two page types: homepage and inside (sub) pages.
   Each has a desktop and mobile variant.
   The class is set via the template_body_class block in each template.
   -------------------------------------------------------------------------- */

.sprout-page-home,
.sprout-page-inside {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
}

/* The background-image URLs are set via a <style> block in sprout-base.hubl.html
   using get_asset_url(), which resolves reliably in HubL templates. */

.sprout-page-inside {
  background-image: var(--sprout-body-bg-desktop);
}

.sprout-page-home {
  background-image: var(--sprout-body-bg-desktop);
}

@media (max-width: 767px) {
  .sprout-page-inside {
    background-image: var(--sprout-body-bg-mobile);
  }

  .sprout-page-home {
    background-image: var(--sprout-body-bg-mobile);
  }
}

/* Card Panel Utility
   --------------------------------------------------------------------------
   A purple card wrapper with optional gradient bottom strip.
   Apply via class= on dnd_section. Composes with section-padding-*,
   sprout-content-gap-*, and other section utility classes.

   Classes: sprout-card-panel, sprout-card-panel--gradient-strip

   The card sits inside the page gutters. The outer section's background
   should be the dark page color (#10001F via section_variant_4).
   -------------------------------------------------------------------------- */

/* Card visual wrapper — targets .row-fluid-wrapper (CMS DOM) and
   > .row-fluid (local dev DOM, where there's no wrapper).
   .dnd-section itself spans full viewport; max_width constrains inside. */

.dnd-section.sprout-card-panel > .row-fluid-wrapper,
.dnd-section.sprout-card-panel > .row-fluid {
  background-color: var(--hsElevate--color-role--primary, #342775);
  border-radius: var(--hsElevate--radius--medium, 6px);
  overflow: hidden;
  position: relative;
}

/* Card padding — Figma card-padding tokens:
   block: xl = 80/48, inline: lg = 48/24.
   In CMS: .row-fluid-wrapper > .row-fluid. In local dev: direct .row-fluid. */

.dnd-section.sprout-card-panel > .row-fluid-wrapper > .row-fluid,
.dnd-section.sprout-card-panel > .row-fluid {
  padding: 80px 48px;
}

@media (max-width: 767px) {
  .dnd-section.sprout-card-panel > .row-fluid-wrapper > .row-fluid,
  .dnd-section.sprout-card-panel > .row-fluid {
    padding: 48px 24px;
  }
}

/* Uniform padding modifier — xl all sides (80px / 48px mobile).
   Base card-panel uses xl block / lg inline (80×48 / 48×24).
   This sets inline padding to match block for side-by-side layouts. */

.dnd-section.sprout-card-panel.sprout-card-panel--padding-uniform > .row-fluid-wrapper > .row-fluid,
.dnd-section.sprout-card-panel.sprout-card-panel--padding-uniform > .row-fluid {
  padding: 80px;
}

@media (max-width: 767px) {
  .dnd-section.sprout-card-panel.sprout-card-panel--padding-uniform > .row-fluid-wrapper > .row-fluid,
  .dnd-section.sprout-card-panel.sprout-card-panel--padding-uniform > .row-fluid {
    padding: 48px;
  }
}

/* Gradient strip — 8px at bottom, purple → gold.
   ::after on the visual wrapper element (clips to rounded corners). */

.dnd-section.sprout-card-panel.sprout-card-panel--gradient-strip > .row-fluid-wrapper::after,
.dnd-section.sprout-card-panel.sprout-card-panel--gradient-strip > .row-fluid::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(to right, #4B48B7, #FFB600);
}

/* Card Hover Animation — Reusable lift effect
   --------------------------------------------------------------------------
   Apply .sprout-card-hover to any card wrapper element. On hover the card
   translates up 16px (Figma spec) and shifts to dark-purple/500 bg.
   The border is removed on hover to match the Figma hover state.

   Usage (CSS module): composes or wrap with :global(.sprout-card-hover)
   Usage (plain):      class="sprout-card-hover"
   -------------------------------------------------------------------------- */

.sprout-card-hover {
  transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.sprout-card-hover:hover {
  transform: translateY(-16px);
  background-color: var(--hsElevate--color-role--dark_background_alt, #18003A);
  border-color: transparent;
}

/* Content Gap Overrides — Sprout Figma Spacer Scale
   --------------------------------------------------------------------------
   Pixel-based content gap classes with responsive desktop → mobile values
   from the Figma "padding & spacing / spacers" variables.

   Sprout sections use sprout-content-gap-{N} to maintain independent control
   over gap values. The master's content-gap-{N} classes exist but are unused.

   Source of truth: scripts/client-values.json → content_gap_scale

   Figma spacer scale (desktop → mobile):
     0→0 | 2→2 | 4→4 | 6→6 | 8→6 | 10→10 | 12→8 | 16→12
     24→16 | 32→24 | 36→36 | 48→32 | 56→56 | 72→48 | 80→48 | 96→80
   -------------------------------------------------------------------------- */

/* Desktop (≥768px) — horizontal gap between side-by-side columns */

@media (min-width: 48rem) {
  .dnd-section.sprout-content-gap-0 > .row-fluid,
  .dnd-section.sprout-content-gap-2 > .row-fluid,
  .dnd-section.sprout-content-gap-4 > .row-fluid,
  .dnd-section.sprout-content-gap-6 > .row-fluid,
  .dnd-section.sprout-content-gap-8 > .row-fluid,
  .dnd-section.sprout-content-gap-10 > .row-fluid,
  .dnd-section.sprout-content-gap-12 > .row-fluid,
  .dnd-section.sprout-content-gap-16 > .row-fluid,
  .dnd-section.sprout-content-gap-24 > .row-fluid,
  .dnd-section.sprout-content-gap-32 > .row-fluid,
  .dnd-section.sprout-content-gap-36 > .row-fluid,
  .dnd-section.sprout-content-gap-48 > .row-fluid,
  .dnd-section.sprout-content-gap-56 > .row-fluid,
  .dnd-section.sprout-content-gap-72 > .row-fluid,
  .dnd-section.sprout-content-gap-80 > .row-fluid,
  .dnd-section.sprout-content-gap-96 > .row-fluid {
    justify-content: initial;
  }

  .dnd-section.sprout-content-gap-0 > .row-fluid  { gap: 0px; }
  .dnd-section.sprout-content-gap-2 > .row-fluid  { gap: 2px; }
  .dnd-section.sprout-content-gap-4 > .row-fluid  { gap: 4px; }
  .dnd-section.sprout-content-gap-6 > .row-fluid  { gap: 6px; }
  .dnd-section.sprout-content-gap-8 > .row-fluid  { gap: 8px; }
  .dnd-section.sprout-content-gap-10 > .row-fluid { gap: 10px; }
  .dnd-section.sprout-content-gap-12 > .row-fluid { gap: 12px; }
  .dnd-section.sprout-content-gap-16 > .row-fluid { gap: 16px; }
  .dnd-section.sprout-content-gap-24 > .row-fluid { gap: 24px; }
  .dnd-section.sprout-content-gap-32 > .row-fluid { gap: 32px; }
  .dnd-section.sprout-content-gap-36 > .row-fluid { gap: 36px; }
  .dnd-section.sprout-content-gap-48 > .row-fluid { gap: 48px; }
  .dnd-section.sprout-content-gap-56 > .row-fluid { gap: 56px; }
  .dnd-section.sprout-content-gap-72 > .row-fluid { gap: 72px; }
  .dnd-section.sprout-content-gap-80 > .row-fluid { gap: 80px; }
  .dnd-section.sprout-content-gap-96 > .row-fluid { gap: 96px; }

  /* Clear calc() span widths so flex controls sizing */
  .dnd-section.sprout-content-gap-0 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-2 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-4 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-6 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-8 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-10 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-12 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-16 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-24 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-32 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-36 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-48 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-56 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-72 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-80 > .row-fluid > [class*="span"],
  .dnd-section.sprout-content-gap-96 > .row-fluid > [class*="span"] {
    width: auto;
  }
}

/* Mobile (<768px) — vertical row-gap when columns stack (sprout-content-gap scale).
   Overrides the default row-gap set by stack-mobile/stack-tablet. */

@media (max-width: 47.999rem) {
  .dnd-section.sprout-content-gap-0.stack-mobile > .row-fluid  { row-gap: 0px; }
  .dnd-section.sprout-content-gap-2.stack-mobile > .row-fluid  { row-gap: 2px; }
  .dnd-section.sprout-content-gap-4.stack-mobile > .row-fluid  { row-gap: 4px; }
  .dnd-section.sprout-content-gap-6.stack-mobile > .row-fluid  { row-gap: 6px; }
  .dnd-section.sprout-content-gap-8.stack-mobile > .row-fluid  { row-gap: 6px; }
  .dnd-section.sprout-content-gap-10.stack-mobile > .row-fluid { row-gap: 10px; }
  .dnd-section.sprout-content-gap-12.stack-mobile > .row-fluid { row-gap: 8px; }
  .dnd-section.sprout-content-gap-16.stack-mobile > .row-fluid { row-gap: 12px; }
  .dnd-section.sprout-content-gap-24.stack-mobile > .row-fluid { row-gap: 16px; }
  .dnd-section.sprout-content-gap-32.stack-mobile > .row-fluid { row-gap: 24px; }
  .dnd-section.sprout-content-gap-36.stack-mobile > .row-fluid { row-gap: 36px; }
  .dnd-section.sprout-content-gap-48.stack-mobile > .row-fluid { row-gap: 32px; }
  .dnd-section.sprout-content-gap-56.stack-mobile > .row-fluid { row-gap: 56px; }
  .dnd-section.sprout-content-gap-72.stack-mobile > .row-fluid { row-gap: 48px; }
  .dnd-section.sprout-content-gap-80.stack-mobile > .row-fluid { row-gap: 48px; }
  .dnd-section.sprout-content-gap-96.stack-mobile > .row-fluid { row-gap: 80px; }

  .dnd-section.sprout-content-gap-0.stack-tablet > .row-fluid  { row-gap: 0px; }
  .dnd-section.sprout-content-gap-2.stack-tablet > .row-fluid  { row-gap: 2px; }
  .dnd-section.sprout-content-gap-4.stack-tablet > .row-fluid  { row-gap: 4px; }
  .dnd-section.sprout-content-gap-6.stack-tablet > .row-fluid  { row-gap: 6px; }
  .dnd-section.sprout-content-gap-8.stack-tablet > .row-fluid  { row-gap: 6px; }
  .dnd-section.sprout-content-gap-10.stack-tablet > .row-fluid { row-gap: 10px; }
  .dnd-section.sprout-content-gap-12.stack-tablet > .row-fluid { row-gap: 8px; }
  .dnd-section.sprout-content-gap-16.stack-tablet > .row-fluid { row-gap: 12px; }
  .dnd-section.sprout-content-gap-24.stack-tablet > .row-fluid { row-gap: 16px; }
  .dnd-section.sprout-content-gap-32.stack-tablet > .row-fluid { row-gap: 24px; }
  .dnd-section.sprout-content-gap-36.stack-tablet > .row-fluid { row-gap: 36px; }
  .dnd-section.sprout-content-gap-48.stack-tablet > .row-fluid { row-gap: 32px; }
  .dnd-section.sprout-content-gap-56.stack-tablet > .row-fluid { row-gap: 56px; }
  .dnd-section.sprout-content-gap-72.stack-tablet > .row-fluid { row-gap: 48px; }
  .dnd-section.sprout-content-gap-80.stack-tablet > .row-fluid { row-gap: 48px; }
  .dnd-section.sprout-content-gap-96.stack-tablet > .row-fluid { row-gap: 80px; }
}

/* Stack Gap Override — independent mobile row-gap
   --------------------------------------------------------------------------
   Use sprout-stack-gap-{N} to set the mobile stacked row-gap independently
   of the desktop column gap (sprout-content-gap-{N}).

   Compose: sprout-content-gap-24 sprout-stack-gap-48 stack-mobile
   → desktop: 24px column gap / mobile: 48px row-gap

   Values are raw pixel, NOT mapped through the spacer scale — the class
   name IS the mobile pixel value.

   MUST appear AFTER sprout-content-gap mobile rules (same specificity,
   source-order wins).
   -------------------------------------------------------------------------- */

@media (max-width: 47.999rem) {
  .dnd-section.sprout-stack-gap-0.stack-mobile > .row-fluid   { row-gap: 0px; }
  .dnd-section.sprout-stack-gap-8.stack-mobile > .row-fluid   { row-gap: 8px; }
  .dnd-section.sprout-stack-gap-12.stack-mobile > .row-fluid  { row-gap: 12px; }
  .dnd-section.sprout-stack-gap-16.stack-mobile > .row-fluid  { row-gap: 16px; }
  .dnd-section.sprout-stack-gap-24.stack-mobile > .row-fluid  { row-gap: 24px; }
  .dnd-section.sprout-stack-gap-32.stack-mobile > .row-fluid  { row-gap: 32px; }
  .dnd-section.sprout-stack-gap-36.stack-mobile > .row-fluid  { row-gap: 36px; }
  .dnd-section.sprout-stack-gap-48.stack-mobile > .row-fluid  { row-gap: 48px; }
  .dnd-section.sprout-stack-gap-56.stack-mobile > .row-fluid  { row-gap: 56px; }
  .dnd-section.sprout-stack-gap-72.stack-mobile > .row-fluid  { row-gap: 72px; }
  .dnd-section.sprout-stack-gap-80.stack-mobile > .row-fluid  { row-gap: 80px; }
  .dnd-section.sprout-stack-gap-96.stack-mobile > .row-fluid  { row-gap: 96px; }

  .dnd-section.sprout-stack-gap-0.stack-tablet > .row-fluid   { row-gap: 0px; }
  .dnd-section.sprout-stack-gap-8.stack-tablet > .row-fluid   { row-gap: 8px; }
  .dnd-section.sprout-stack-gap-12.stack-tablet > .row-fluid  { row-gap: 12px; }
  .dnd-section.sprout-stack-gap-16.stack-tablet > .row-fluid  { row-gap: 16px; }
  .dnd-section.sprout-stack-gap-24.stack-tablet > .row-fluid  { row-gap: 24px; }
  .dnd-section.sprout-stack-gap-32.stack-tablet > .row-fluid  { row-gap: 32px; }
  .dnd-section.sprout-stack-gap-36.stack-tablet > .row-fluid  { row-gap: 36px; }
  .dnd-section.sprout-stack-gap-48.stack-tablet > .row-fluid  { row-gap: 48px; }
  .dnd-section.sprout-stack-gap-56.stack-tablet > .row-fluid  { row-gap: 56px; }
  .dnd-section.sprout-stack-gap-72.stack-tablet > .row-fluid  { row-gap: 72px; }
  .dnd-section.sprout-stack-gap-80.stack-tablet > .row-fluid  { row-gap: 80px; }
  .dnd-section.sprout-stack-gap-96.stack-tablet > .row-fluid  { row-gap: 96px; }
}

/* Dark Card Link — Reusable utility for full-card <a> wrappers on dark backgrounds
   --------------------------------------------------------------------------
   Apply .sprout-dark-card-link to an <a> tag that wraps an entire dark card.
   Forces the theme's dark-section foreground color (white) on the link and
   ALL descendants, and kills text-decoration in every state (hover/focus/active).

   To opt-in to hover underline on a specific child (e.g. "Read more" text),
   add .sprout-dark-card-link__underline to that element.

   Usage (CSS module):  className={cx('sprout-dark-card-link', swm('...'))}
   Usage (plain):       class="sprout-dark-card-link"
   -------------------------------------------------------------------------- */

.sprout-dark-card-link,
.sprout-dark-card-link:hover,
.sprout-dark-card-link:focus,
.sprout-dark-card-link:active,
.sprout-dark-card-link:visited {
  color: var(--hsElevate--color--dark--foreground, #fff) !important;
  text-decoration: none !important;
}

.sprout-dark-card-link *,
.sprout-dark-card-link:hover *,
.sprout-dark-card-link:focus *,
.sprout-dark-card-link:active * {
  color: inherit !important;
  text-decoration: none !important;
}

/* Opt-in hover underline for a specific child (e.g. "Read more" text) */

.sprout-dark-card-link:hover .sprout-dark-card-link__underline {
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Generic */

*,
*:before,
*:after {
  box-sizing: border-box;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
  overflow-x: hidden;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects */

.dnd-section {
  padding: var(--hsElevate--section--medium__verticalPadding)
    var(--hsElevate--section--horizontalPadding);
}

.dnd-section > .row-fluid,
.hs-elevate-content-wrapper {
  margin: 0 auto;
  max-width: var(--hsElevate--contentWrapper--wide__maxWidth);
}

/* Full-width section override - allows content to span full section width */

.dnd-section--full-width > .row-fluid {
  max-width: none;
}

/* Deskpro homepage — video section overlap and max-width constraint.
   Scoped to .deskpro-homepage body class (set in deskpro-home.hubl.html template via body_class block).
   Uses :has() since cssClass/html_attributes params do not render on the dnd-section DOM element. */

.deskpro-homepage .dnd-section:has(.hs-video-widget) > .row-fluid {
  max-width: 1156px;
}

.deskpro-homepage .dnd-section:has(.hs-video-widget) {
  margin-top: -7.5rem;
  position: relative;
  z-index: 1;
}

@media (min-width: 34.375rem) {
  .deskpro-homepage .dnd-section:has(.hs-video-widget) {
    margin-top: -20%;
  }
}

@media (min-width: 80rem) {
  .deskpro-homepage .dnd-section:has(.hs-video-widget) {
    margin-top: -10%;
  }
}

/* HubSpot video embeds — fix layout and add rounded corners globally */

.hs-video-wrapper {
  /* aspect-ratio establishes height; position:relative anchors the absolute iframe */
  position: relative !important;
  height: auto !important;
  padding-bottom: 0 !important;
  aspect-ratio: 16 / 9;
  border-radius: var(--hsElevate--radius--large);
  overflow: hidden;
}

.hs-elevate-content-wrapper {
  padding: 0 var(--hsElevate--section--horizontalPadding);
}

/* Helper Classes */

.hs-elevate-content-wrapper--sm {
  max-width: var(--hsElevate--contentWrapper--narrow__maxWidth);
  padding: 0;
}

.hs-elevate-content-wrapper--compact {
  max-width: var(--hsElevate--contentWrapper--compact__maxWidth);
  padding: 0;
}

.hs-elevate-content-wrapper--md {
  max-width: var(--hsElevate--contentWrapper--medium__maxWidth);
  padding: 0;
}

.hs-elevate-content-wrapper--lg {
  max-width: var(--hsElevate--contentWrapper--wide__maxWidth);
  padding: 0;
}

.hs-elevate-content-wrapper--full {
  max-width: var(--hsElevate--contentWrapper--full__maxWidth);
  padding: 0;
}

/* Padding for non DND sections */

.hs-elevate-content-padding {
  padding-block: var(--hsElevate--section--medium__verticalPadding);
}

.hs-elevate-content-padding--extra-small {
  padding-block: var(  --hsElevate--section--extraSmall__verticalPadding);
}

.hs-elevate-content-padding--small {
  padding-block: var(--hsElevate--section--small__verticalPadding);
}

.hs-elevate-content-padding--large {
  padding-block: var(--hsElevate--section--large__verticalPadding);
}

.hs-elevate-content-padding--extra-large {
  padding-block: var(--hsElevate--section--extraLarge__verticalPadding);
}

/* Section padding overrides for DND sections
   Use via class="section-padding-*" on dnd_section in section templates.
   The default .dnd-section rule uses medium padding — these override for other sizes.
   All values are responsive via CSS variables set in _layout.hubl.css. */

/* Symmetric padding (top + bottom same size)
   Note: class= on dnd_section applies to the SAME element as .dnd-section,
   so we use compound selectors (.dnd-section.class) not child (.class > .dnd-section). */

.dnd-section.section-padding-none {
  padding-top: 0;
  padding-bottom: 0;
}

/* Flush — zeroes ALL padding (vertical + horizontal).
   Use for self-contained modules that manage their own gutters internally. */

.dnd-section.section-padding-flush {
  padding: 0;
}

.dnd-section.section-padding-xs {
  padding-top: var(--hsElevate--section--extraSmall__verticalPadding);
  padding-bottom: var(--hsElevate--section--extraSmall__verticalPadding);
}

.dnd-section.section-padding-sm {
  padding-top: var(--hsElevate--section--small__verticalPadding);
  padding-bottom: var(--hsElevate--section--small__verticalPadding);
}

.dnd-section.section-padding-lg {
  padding-top: var(--hsElevate--section--large__verticalPadding);
  padding-bottom: var(--hsElevate--section--large__verticalPadding);
}

.dnd-section.section-padding-xl {
  padding-top: var(--hsElevate--section--extraLarge__verticalPadding);
  padding-bottom: var(--hsElevate--section--extraLarge__verticalPadding);
}

/* Asymmetric padding — independent top and bottom
   Combine: class="section-pt-lg section-pb-sm" for 128px top / 64px bottom (desktop)
   All values scale responsively via CSS variables at tablet/mobile breakpoints. */

.dnd-section.section-pt-none { padding-top: 0; }

.dnd-section.section-pt-xs { padding-top: var(--hsElevate--section--extraSmall__verticalPadding); }

.dnd-section.section-pt-sm { padding-top: var(--hsElevate--section--small__verticalPadding); }

.dnd-section.section-pt-md { padding-top: var(--hsElevate--section--medium__verticalPadding); }

.dnd-section.section-pt-lg { padding-top: var(--hsElevate--section--large__verticalPadding); }

.dnd-section.section-pt-xl { padding-top: var(--hsElevate--section--extraLarge__verticalPadding); }

.dnd-section.section-pb-none { padding-bottom: 0; }

.dnd-section.section-pb-xs { padding-bottom: var(--hsElevate--section--extraSmall__verticalPadding); }

.dnd-section.section-pb-sm { padding-bottom: var(--hsElevate--section--small__verticalPadding); }

.dnd-section.section-pb-md { padding-bottom: var(--hsElevate--section--medium__verticalPadding); }

.dnd-section.section-pb-lg { padding-bottom: var(--hsElevate--section--large__verticalPadding); }

.dnd-section.section-pb-xl { padding-bottom: var(--hsElevate--section--extraLarge__verticalPadding); }

/* Spacer gap scale CSS variables (--hsElevate--spacer--xs through --xl) are defined in
   _layout.hubl.css from theme settings (fields.json → group_layout.group_spacer_tokens).
   Static fallbacks are in _defaults.hubl.css. */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.row-fluid .span1,
.row-fluid .span2,
.row-fluid .span3,
.row-fluid .span4,
.row-fluid .span5,
.row-fluid .span6,
.row-fluid .span7,
.row-fluid .span8,
.row-fluid .span9,
.row-fluid .span10,
.row-fluid .span11,
.row-fluid .span12 {
  min-height: 1px;
  width: 100%;
}

/* Breakpoint: md (768px) and up */

@media (min-width: 48rem) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .row-fluid .span1 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 1 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 11 / 100
    );
  }

  .row-fluid .span2 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 2 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 10 / 100
    );
  }

  .row-fluid .span3 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 3 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 9 / 100
    );
  }

  .row-fluid .span4 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 4 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 8 / 100
    );
  }

  .row-fluid .span5 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 5 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 7 / 100
    );
  }

  .row-fluid .span6 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 6 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 6 / 100
    );
  }

  .row-fluid .span7 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 7 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 5 / 100
    );
  }

  .row-fluid .span8 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 8 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 4 / 100
    );
  }

  .row-fluid .span9 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 9 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 3 / 100
    );
  }

  .row-fluid .span10 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 10 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 2 / 100
    );
  }

  .row-fluid .span11 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 11 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 1 / 100
    );
  }
}

/* ==========================================================================
   DND Responsive Row Utilities
   
   These utility classes provide tablet-optimized responsive behavior for
   DND rows. HubSpot's native DND grid only has one breakpoint (768px),
   so these utilities add a tablet breakpoint (640px) for better control.
   
   Usage: Add cssClass="row-fluid--tablet-2-col" to dnd_row in HubL templates.
   
   See docs/theme-systems/dnd-responsive-strategy.md for full documentation.
   ========================================================================== */

/* -----------------------------------------------------------------------------
   Tablet Breakpoint: 640px - 767px (sm to md)
   
   These utilities keep columns side-by-side on tablet instead of stacking.
   Below 640px, columns will stack (mobile behavior).
   Above 768px, normal DND grid behavior applies.
   ----------------------------------------------------------------------------- */

/* Breakpoint: sm (640px) to md (768px) - Tablet range */

@media (min-width: 40rem) and (max-width: 47.999rem) {
  
  /* Keep 2 columns on tablet (for 2-column layouts)
     Applied to dnd_section via class parameter.
     HubSpot structure: .row-fluid-wrapper.row-fluid--tablet-2-col > .row-fluid > .span* */
  .row-fluid--tablet-2-col > .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  .row-fluid--tablet-2-col > .row-fluid > [class*="span"] {
    width: calc(50% - var(--hsElevate--column__gap) / 2);
  }
  
  /* Keep 2 columns on tablet (for 3+ column layouts - wraps extras) */
  .row-fluid--tablet-2-col-wrap > .row-fluid {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--hsElevate--column__gap);
  }
  
  .row-fluid--tablet-2-col-wrap > .row-fluid > [class*="span"] {
    width: calc(50% - var(--hsElevate--column__gap) / 2);
  }
  
  /* Keep 3 columns on tablet (for 3-column layouts) */
  .row-fluid--tablet-3-col > .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  .row-fluid--tablet-3-col > .row-fluid > [class*="span"] {
    width: calc(33.333% - var(--hsElevate--column__gap) * 2 / 3);
  }
  
  /* Asymmetric layouts - keep proportions on tablet */
  .row-fluid--tablet-asymmetric > .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  /* 4/8 split (33/67) */
  .row-fluid--tablet-asymmetric > .row-fluid > .span4 {
    width: calc(33.333% - var(--hsElevate--column__gap) / 2);
  }
  
  .row-fluid--tablet-asymmetric > .row-fluid > .span8 {
    width: calc(66.666% - var(--hsElevate--column__gap) / 2);
  }
  
  /* 5/7 split (42/58) */
  .row-fluid--tablet-asymmetric > .row-fluid > .span5 {
    width: calc(41.666% - var(--hsElevate--column__gap) / 2);
  }
  
  .row-fluid--tablet-asymmetric > .row-fluid > .span7 {
    width: calc(58.333% - var(--hsElevate--column__gap) / 2);
  }
  
  /* 6/6 split (50/50) - explicit for clarity */
  .row-fluid--tablet-asymmetric > .row-fluid > .span6 {
    width: calc(50% - var(--hsElevate--column__gap) / 2);
  }
}

/* -----------------------------------------------------------------------------
   Mobile Override: Force stack on mobile
   
   Use when you want columns to stack below tablet breakpoint (640px)
   even if they would normally stay side-by-side.
   ----------------------------------------------------------------------------- */

/* Breakpoint: below sm (640px) - Mobile */

@media (max-width: 39.999rem) {
  .row-fluid--mobile-stack > [class*="span"] {
    width: 100%;
  }
}

/* -----------------------------------------------------------------------------
   Footer Layout: Stack at XL (1280px)
   
   Footer-specific layout that keeps 3/9 (25/75) columns side-by-side
   above 1280px, and stacks below. This gives navigation columns more room
   before stacking.
   
   NOTE: The `class` parameter on dnd_section only works in section templates,
   NOT in global partials. So we target the footer using the existing
   .hs-elevate-complex-footer class instead.
   
   SPECIFICITY: Base styles use `.row-fluid .span3` (2 classes). We need
   `.hs-elevate-complex-footer .row-fluid .span3` (3 classes) to override.
   ----------------------------------------------------------------------------- */

/* Breakpoint: md (768px) to xl (1280px) - Force stacking for asymmetric layouts */

@media (min-width: 48rem) and (max-width: 79.999rem) {
  .hs-elevate-complex-footer .row-fluid {
    flex-wrap: wrap;
  }
  
  /* Asymmetric layouts (3/9, 4/8, 8/4, 9/3) stack at 1280px */
  .hs-elevate-complex-footer .row-fluid .span3,
  .hs-elevate-complex-footer .row-fluid .span4,
  .hs-elevate-complex-footer .row-fluid .span8,
  .hs-elevate-complex-footer .row-fluid .span9 {
    width: 100%;
  }
  
  /* Add gap between stacked columns (first column only) */
  .hs-elevate-complex-footer .row-fluid > [class*="span"]:first-child {
    margin-bottom: 2rem;
  }
}

/* Breakpoint: md (768px) to lg (1024px) - 6/6 stacks at 1024px */

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .hs-elevate-complex-footer .row-fluid .span6 {
    width: 100%;
  }
}

/* Breakpoint: lg (1024px) and up - 6/6 side by side */

@media (min-width: 64rem) {
  .hs-elevate-complex-footer .row-fluid .span6 {
    width: calc(50% - var(--hsElevate--column__gap) / 2);
  }
}

/* Breakpoint: xl (1280px) and up - Asymmetric layouts side by side */

@media (min-width: 80rem) {
  .hs-elevate-complex-footer .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  /* Reset margin for all columns */
  .hs-elevate-complex-footer .row-fluid > [class*="span"]:first-child {
    margin-bottom: 0;
  }
  
  /* 3/9 split (25/75) */
  .hs-elevate-complex-footer .row-fluid .span3 {
    width: calc(25% - var(--hsElevate--column__gap) / 2);
  }
  
  .hs-elevate-complex-footer .row-fluid .span9 {
    width: calc(75% - var(--hsElevate--column__gap) / 2);
  }
  
  /* 4/8 split (33/67) */
  .hs-elevate-complex-footer .row-fluid .span4 {
    width: calc(33.333% - var(--hsElevate--column__gap) / 2);
  }
  
  .hs-elevate-complex-footer .row-fluid .span8 {
    width: calc(66.666% - var(--hsElevate--column__gap) / 2);
  }
}

/* Elements */

html {
  font-size: var(--hsElevate--baseText__fontSize);
}

body {
  background-color: var(--hsElevate--body__backgroundColor);
  color: var(--hsElevate--body__textColor);
  font-family: var(--hsElevate--body__font);
  font-size: 1rem; /* 16px on mobile/tablet */
  font-style: var(--hsElevate--body__fontStyle);
  font-weight: var(--hsElevate--body__fontWeight);
  line-height: var(--hsElevate--body__lineHeight);
  overflow-wrap: break-word;
}

/* Increase body font size on desktop (lg breakpoint and up) */

/* Breakpoint: lg (1024px) and up */

@media (min-width: 64rem) {
  body {
    font-size: var(--hsElevate--body__fontSize); /* 18px (1.125rem) on desktop */
  }
}

html[lang^='ja'] body,
html[lang^='zh'] body,
html[lang^='ko'] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin-block: var(--hsElevate--text__margin);
  color: var(--hsElevate--typography__body-color);
}

a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link),
a.hs-elevate-link--primary,
.hs-elevate-link--primary a {
  color: var(--hsElevate--link--primary__fontColor);
  cursor: pointer;
  -webkit-text-decoration: var(--hsElevate--link--primary__textDecoration);
  text-decoration: var(--hsElevate--link--primary__textDecoration);
  text-decoration-color: var(--hsElevate--link--primary__textDecorationColor);
  transition: color 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out;
}

a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover,
a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus,
a.hs-elevate-link--primary:hover,
.hs-elevate-link--primary a:hover,
a.hs-elevate-link--primary:focus,
.hs-elevate-link--primary a:focus {
  color: var(--hsElevate--link--primary__hover--fontColor);
  -webkit-text-decoration: var(--hsElevate--link--primary__hover--textDecoration);
  text-decoration: var(--hsElevate--link--primary__hover--textDecoration);
  text-decoration-color: var(--hsElevate--link--primary__hover--textDecorationColor);
}

a.hs-elevate-link--secondary,
.hs-elevate-link--secondary a {
  color: var(--hsElevate--link--secondary__fontColor);
  cursor: pointer;
  -webkit-text-decoration: var(--hsElevate--link--secondary__textDecoration);
  text-decoration: var(--hsElevate--link--secondary__textDecoration);
  text-decoration-color: var(--hsElevate--link--secondary__textDecorationColor);
  transition: color 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out;
}

a.hs-elevate-link--secondary:hover,
.hs-elevate-link--secondary a:hover a.hs-elevate-link--secondary:focus,
.hs-elevate-link--secondary a:focus {
  color: var(--hsElevate--link--secondary__hover--fontColor);
  -webkit-text-decoration: var(--hsElevate--link--secondary__hover--textDecoration);
  text-decoration: var(--hsElevate--link--secondary__hover--textDecoration);
  text-decoration-color: var(--hsElevate--link--secondary__hover--textDecorationColor);
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--hsElevate--typography__headings-color);
  margin-block-start: 0;
}

h1,
.hs-elevate-h1 {
  margin-block-end: var(--hsElevate--h1__marginBottom);
}

h2,
.hs-elevate-h2 {
  margin-block-end: var(--hsElevate--h2__marginBottom);
}

h3,
.hs-elevate-h3 {
  margin-block-end: var(--hsElevate--h3__marginBottom);
}

h4,
.hs-elevate-h4 {
  margin-block-end: var(--hsElevate--h4__marginBottom);
}

h5,
.hs-elevate-h5 {
  margin-block-end: var(--hsElevate--h5__marginBottom);
}

h6,
.hs-elevate-h6 {
  margin-block-end: var(--hsElevate--h6__marginBottom);
}

.hs-elevate-display {
  font-family: var(--hsElevate--display__font);
  font-size: var(--hsElevate--display__fontSize);
  font-style: var(--hsElevate--display__fontStyle);
  font-weight: var(--hsElevate--display__fontWeight);
  line-height: var(--hsElevate--display__lineHeight);
  letter-spacing: var(--hsElevate--display__letterSpacing);
}

.hs-elevate-stat {
  font-size: var(--hsElevate--stat__fontSize);
  font-style: var(--hsElevate--stat__fontStyle);
  font-weight: var(--hsElevate--stat__fontWeight);
  line-height: var(--hsElevate--stat__lineHeight);
  letter-spacing: var(--hsElevate--stat__letterSpacing);
}

h1,
.hs-elevate-h1 {
  font-family: var(--hsElevate--h1__font);
  font-size: var(--hsElevate--h1__fontSize);
  font-style: var(--hsElevate--h1__fontStyle);
  font-weight: var(--hsElevate--h1__fontWeight);
  line-height: var(--hsElevate--h1__lineHeight);
  letter-spacing: var(--hsElevate--h1__letterSpacing);
}

h2,
.hs-elevate-h2 {
  font-family: var(--hsElevate--h2__font);
  font-size: var(--hsElevate--h2__fontSize);
  font-style: var(--hsElevate--h2__fontStyle);
  font-weight: var(--hsElevate--h2__fontWeight);
  line-height: var(--hsElevate--h2__lineHeight);
  letter-spacing: var(--hsElevate--h2__letterSpacing);
}

h3,
.hs-elevate-h3 {
  font-family: var(--hsElevate--h3__font);
  font-size: var(--hsElevate--h3__fontSize);
  font-style: var(--hsElevate--h3__fontStyle);
  font-weight: var(--hsElevate--h3__fontWeight);
  line-height: var(--hsElevate--h3__lineHeight);
  letter-spacing: var(--hsElevate--h3__letterSpacing);
}

h4,
.hs-elevate-h4 {
  font-family: var(--hsElevate--h4__font);
  font-size: var(--hsElevate--h4__fontSize);
  font-style: var(--hsElevate--h4__fontStyle);
  font-weight: var(--hsElevate--h4__fontWeight);
  line-height: var(--hsElevate--h4__lineHeight);
  letter-spacing: var(--hsElevate--h4__letterSpacing);
}

h5,
.hs-elevate-h5 {
  font-family: var(--hsElevate--h5__font);
  font-size: var(--hsElevate--h5__fontSize);
  font-style: var(--hsElevate--h5__fontStyle);
  font-weight: var(--hsElevate--h5__fontWeight);
  line-height: var(--hsElevate--h5__lineHeight);
  letter-spacing: var(--hsElevate--h5__letterSpacing);
}

h6,
.hs-elevate-h6 {
  font-family: var(--hsElevate--h6__font);
  font-size: var(--hsElevate--h6__fontSize);
  font-style: var(--hsElevate--h6__fontStyle);
  font-weight: var(--hsElevate--h6__fontWeight);
  line-height: var(--hsElevate--h6__lineHeight);
  letter-spacing: var(--hsElevate--h6__letterSpacing);
}

/* Breakpoint: md (768px) and up */

@media (min-width: 48rem) {
  h1,
  .hs-elevate-h1 {
    font-size: var(--hsElevate--h1__fontSize);
  }

  h2,
  .hs-elevate-h2 {
    font-size: var(--hsElevate--h2__fontSize);
  }

  h3,
  .hs-elevate-h3 {
    font-size: var(--hsElevate--h3__fontSize);
  }

  h4,
  .hs-elevate-h4 {
    font-size: var(--hsElevate--h4__fontSize);
  }

  h5,
  .hs-elevate-h5 {
    font-size: var(--hsElevate--h5__fontSize);
  }

  h6,
  .hs-elevate-h6 {
    font-size: var(--hsElevate--h6__fontSize);
  }
}

/* Lists */

ul,
ol {
  margin-block: var(--hsElevate--text__margin);
}

/* Blockquotes */

blockquote {
  padding: var(--hsElevate--spacing--24, 24px);
  border-radius: var(--hsElevate-rounded--extra-small);
  border-left: 3px solid var(--hsElevate--blockquote__accentColor, var(--hsElevate--section--lightSection--1--blockquote__accentColor));
  background-color: var(--hsElevate--blockquote__backgroundColor, var(--hsElevate--section--lightSection--1--blockquote__backgroundColor));
  color: var(--hsElevate--blockquote__fontColor, var(--hsElevate--section--lightSection--1--blockquote__textColor));
  font-family: var(--hsElevate--quotes__font);
  font-size: var(--hsElevate--quotes__fontSize);
  font-style: var(--hsElevate--quotes__fontStyle);
  font-weight: var(--hsElevate--quotes__fontWeight);
  margin-block: var(--hsElevate--text__margin);
}

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote {
  padding: var(--hsElevate--spacing--24, 24px);
  border-radius: var(--hsElevate-rounded--extra-small);
  border-left: 3px solid var(--hsElevate--blockquote__accentColor, var(--hsElevate--section--lightSection--1--blockquote__accentColor));
  background-color: var(--hsElevate--blockquote__backgroundColor, var(--hsElevate--section--lightSection--1--blockquote__backgroundColor));
  color: var(--hsElevate--blockquote__fontColor, var(--hsElevate--section--lightSection--1--blockquote__textColor));
  font-family: var(--hsElevate--quotes__font);
  font-size: var(--hsElevate--quotes__fontSize);
  font-style: var(--hsElevate--quotes__fontStyle);
  font-weight: var(--hsElevate--quotes__fontWeight);
  margin-block: var(--hsElevate--text__margin);
}

/* Breakpoint: below md (mobile/small tablet) */

@media (max-width: 47.999rem) {
  :is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote {
    font-size: calc(var(--hsElevate--body__fontSize) + 4px);
    margin-inline: 0;
  }
}

/* Captions */

.hs-elevate-caption {
  color: var(--hsElevate--captions__fontColor, var(--hsElevate--section--lightSection--1--captionColor));
  font-family: var(--hsElevate--captions__font);
  font-size: var(--hsElevate--captions__fontSize);
  font-style: var(--hsElevate--captions__fontStyle);
  font-weight: var(--hsElevate--captions__fontWeight);
  text-transform: var(--hsElevate--captions__case);
}

/* Eyebrow */

.hs-elevate-eyebrow {
  color: var(--hsElevate--eyebrow__color, inherit);
  font-size: var(--hsElevate--eyebrow__fontSize);
  font-weight: var(--hsElevate--eyebrow__fontWeight);
  line-height: var(--hsElevate--eyebrow__lineHeight);
  letter-spacing: var(--hsElevate--eyebrow__letterSpacing);
  text-transform: var(--hsElevate--eyebrow__textTransform);
  margin-top: 0;
  margin-bottom: var(--hsElevate--eyebrow__marginBottom);
}

/* Body - Sized variants */

.hs-elevate-body--large {
  font-size: var(--hsElevate--body--large__fontSize);
  line-height: var(--hsElevate--body--large__lineHeight);
  font-weight: var(--hsElevate--body__fontWeight);
  color: var(--hsElevate--typography__body-color);
}

.hs-elevate-body--medium {
  font-size: var(--hsElevate--body--medium__fontSize);
  line-height: var(--hsElevate--body--medium__lineHeight);
  font-weight: var(--hsElevate--body__fontWeight);
  color: var(--hsElevate--typography__body-color);
}

.hs-elevate-body--small {
  font-size: var(--hsElevate--body--small__fontSize);
  line-height: var(--hsElevate--body--small__lineHeight);
  font-weight: var(--hsElevate--body__fontWeight);
  color: var(--hsElevate--typography__body-color);
}

/* Body - Nested inheritance for RichText wrappers */

.hs-elevate-body--large p {
  font-size: var(--hsElevate--body--large__fontSize);
  line-height: var(--hsElevate--body--large__lineHeight);
}

.hs-elevate-body--medium p {
  font-size: var(--hsElevate--body--medium__fontSize);
  line-height: var(--hsElevate--body--medium__lineHeight);
}

.hs-elevate-body--small p {
  font-size: var(--hsElevate--body--small__fontSize);
  line-height: var(--hsElevate--body--small__lineHeight);
}

/* RichText - Remove last child margin */

.hs-elevate-rich-text--no-last-margin > *:last-child {
  margin-block-end: 0;
}

/* Labels */

.hs-elevate-label--large {
  font-size: var(--hsElevate--label--large__fontSize);
  line-height: var(--hsElevate--label--large__lineHeight);
  font-weight: 400;
  color: var(--hsElevate--typography__body-color);
}

.hs-elevate-label--medium {
  font-size: var(--hsElevate--label--medium__fontSize);
  line-height: var(--hsElevate--label--medium__lineHeight);
  font-weight: 400;
  color: var(--hsElevate--typography__body-color);
}

.hs-elevate-label--small {
  font-size: var(--hsElevate--label--small__fontSize);
  line-height: var(--hsElevate--label--small__lineHeight);
  font-weight: 400;
  color: var(--hsElevate--typography__body-color);
}

/* Tags */

.hs-elevate-tag {
  padding: 2px 8px;
  border-color: var(--hsElevate--tag__borderColor);
  border-radius: var(--hsElevate--tag__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--tag__borderThickness);
  background-color: var(--hsElevate--tag__backgroundColor);
  color: var(--hsElevate--tag__textColor);
  font-family: var(--hsElevate--tag__font);
  font-size: var(--hsElevate--tag__fontSize);
  font-style: var(--hsElevate--tag__fontStyle);
  font-weight: var(--hsElevate--tag__fontWeight);
  text-transform: var(--hsElevate--tag__case);
}

/* Images in rich text */

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) img {
  max-width: 100%;
  margin-block-end: var(--hsElevate--rteImages__margin);
}

.hs-elevate-button {
  box-sizing: border-box;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hs-elevate-button:focus {
  outline: 2px solid #53ACFF;
  outline-offset: 2px;
}

.hs-elevate-button--primary {
  font-family: var(--hsElevate--button--primary__fontFamily);
  font-size: var(--hsElevate--button--primary__fontSize);
  font-weight: var(--hsElevate--button--primary__fontWeight);
  font-style: var(--hsElevate--button--primary__fontStyle);
  letter-spacing: var(--hsElevate--button--primary__letterSpacing);
  text-transform: var(--hsElevate--button--primary__textTransform, none);
  color: var(--hsElevate--button--primary__textColor);
  border-width: var(--hsElevate--button--primary__borderThickness);
  background-color: var(--hsElevate--button--primary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--primary__borderColor);
  border-radius: var(--hsElevate--button--primary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--primary:hover {
  color: var(--hsElevate--button--primary__hover--textColor);
  background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  border-color: var(--hsElevate--button--primary__hover--borderColor);
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--primary:active {
  color: var(--hsElevate--button--primary__hover--textColor);
  background-color:  #e1b472 ;
  border-color:   ;
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary {
  font-family: var(--hsElevate--button--secondary__fontFamily);
  font-size: var(--hsElevate--button--secondary__fontSize);
  font-weight: var(--hsElevate--button--secondary__fontWeight);
  font-style: var(--hsElevate--button--secondary__fontStyle);
  letter-spacing: var(--hsElevate--button--secondary__letterSpacing);
  text-transform: var(--hsElevate--button--secondary__textTransform, none);
  color: var(--hsElevate--button--secondary__textColor);
  border-width: var(--hsElevate--button--secondary__borderThickness);
  background-color: var(--hsElevate--button--secondary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--secondary__borderColor);
  border-radius: var(--hsElevate--button--secondary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--secondary:hover {
  color: var(--hsElevate--button--secondary__hover--textColor);
  background-color: var(--hsElevate--button--secondary__hover--backgroundColor);
  border-color: var(--hsElevate--button--secondary__hover--borderColor);
  border-width: var(--hsElevate--button--secondary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary:active {
  color: var(--hsElevate--button--secondary__hover--textColor);
  background-color:  #c7c7d4 ;
  border-color:  #c7c7d4 ;
  border-width: var(--hsElevate--button--secondary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--primary-outline {
  font-family: var(--hsElevate--button--primary-outline__fontFamily);
  font-size: var(--hsElevate--button--primary-outline__fontSize);
  font-weight: var(--hsElevate--button--primary-outline__fontWeight);
  font-style: var(--hsElevate--button--primary-outline__fontStyle);
  letter-spacing: var(--hsElevate--button--primary-outline__letterSpacing);
  text-transform: var(--hsElevate--button--primary-outline__textTransform, none);
  color: var(--hsElevate--button--primary-outline__textColor);
  border-width: var(--hsElevate--button--primary-outline__borderThickness);
  background-color: var(--hsElevate--button--primary-outline__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--primary-outline__borderColor);
  border-radius: var(--hsElevate--button--primary-outline__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--primary-outline:hover {
  color: var(--hsElevate--button--primary-outline__hover--textColor);
  background-color: var(--hsElevate--button--primary-outline__hover--backgroundColor);
  border-color: var(--hsElevate--button--primary-outline__hover--borderColor);
  border-width: var(--hsElevate--button--primary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--primary-outline:active {
  color: var(--hsElevate--button--primary-outline__hover--textColor);
  background-color:  #160957 ;
  border-color:  #160957 ;
  border-width: var(--hsElevate--button--primary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary-outline {
  font-family: var(--hsElevate--button--secondary-outline__fontFamily);
  font-size: var(--hsElevate--button--secondary-outline__fontSize);
  font-weight: var(--hsElevate--button--secondary-outline__fontWeight);
  font-style: var(--hsElevate--button--secondary-outline__fontStyle);
  letter-spacing: var(--hsElevate--button--secondary-outline__letterSpacing);
  text-transform: var(--hsElevate--button--secondary-outline__textTransform, none);
  color: var(--hsElevate--button--secondary-outline__textColor);
  border-width: var(--hsElevate--button--secondary-outline__borderThickness);
  background-color: var(--hsElevate--button--secondary-outline__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--secondary-outline__borderColor);
  border-radius: var(--hsElevate--button--secondary-outline__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--secondary-outline:hover {
  color: var(--hsElevate--button--secondary-outline__hover--textColor);
  background-color: var(--hsElevate--button--secondary-outline__hover--backgroundColor);
  border-color: var(--hsElevate--button--secondary-outline__hover--borderColor);
  border-width: var(--hsElevate--button--secondary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary-outline:active {
  color: var(--hsElevate--button--secondary-outline__hover--textColor);
  background-color:  #e19800 ;
  border-color:  #e19800 ;
  border-width: var(--hsElevate--button--secondary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--dark-primary {
  font-family: var(--hsElevate--button--dark-primary__fontFamily);
  font-size: var(--hsElevate--button--dark-primary__fontSize);
  font-weight: var(--hsElevate--button--dark-primary__fontWeight);
  font-style: var(--hsElevate--button--dark-primary__fontStyle);
  letter-spacing: var(--hsElevate--button--dark-primary__letterSpacing);
  text-transform: var(--hsElevate--button--dark-primary__textTransform, none);
  color: var(--hsElevate--button--dark-primary__textColor);
  border-width: var(--hsElevate--button--dark-primary__borderThickness);
  background-color: var(--hsElevate--button--dark-primary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--dark-primary__borderColor);
  border-radius: var(--hsElevate--button--dark-primary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--dark-primary:hover {
  color: var(--hsElevate--button--dark-primary__hover--textColor);
  background-color: var(--hsElevate--button--dark-primary__hover--backgroundColor);
  border-color: var(--hsElevate--button--dark-primary__hover--borderColor);
  border-width: var(--hsElevate--button--dark-primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--dark-primary:active {
  color: var(--hsElevate--button--dark-primary__hover--textColor);
  background-color:  #e19800 ;
  border-color:   ;
  border-width: var(--hsElevate--button--dark-primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--dark-primary-outline {
  font-family: var(--hsElevate--button--dark-primary-outline__fontFamily);
  font-size: var(--hsElevate--button--dark-primary-outline__fontSize);
  font-weight: var(--hsElevate--button--dark-primary-outline__fontWeight);
  font-style: var(--hsElevate--button--dark-primary-outline__fontStyle);
  letter-spacing: var(--hsElevate--button--dark-primary-outline__letterSpacing);
  text-transform: var(--hsElevate--button--dark-primary-outline__textTransform, none);
  color: var(--hsElevate--button--dark-primary-outline__textColor);
  border-width: var(--hsElevate--button--dark-primary-outline__borderThickness);
  background-color: var(--hsElevate--button--dark-primary-outline__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--dark-primary-outline__borderColor);
  border-radius: var(--hsElevate--button--dark-primary-outline__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--dark-primary-outline:hover {
  color: var(--hsElevate--button--dark-primary-outline__hover--textColor);
  background-color: var(--hsElevate--button--dark-primary-outline__hover--backgroundColor);
  border-color: var(--hsElevate--button--dark-primary-outline__hover--borderColor);
  border-width: var(--hsElevate--button--dark-primary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--dark-primary-outline:active {
  color: var(--hsElevate--button--dark-primary-outline__hover--textColor);
  background-color:  #d3d3da ;
  border-color:  #d3d3da ;
  border-width: var(--hsElevate--button--dark-primary-outline__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--link {
  font-family: var(--hsElevate--button--link__fontFamily);
  font-size: var(--hsElevate--button--link__fontSize);
  font-weight: var(--hsElevate--button--link__fontWeight);
  font-style: var(--hsElevate--button--link__fontStyle);
  letter-spacing: var(--hsElevate--button--link__letterSpacing);
  text-transform: var(--hsElevate--button--link__textTransform, none);
  color: var(--hsElevate--button--link__textColor, inherit);
  background-color: transparent;
  border: none;
  border-radius: 0;
  text-decoration: none;
  min-width: 0;
  height: auto;
  justify-content: flex-start;
  gap: 0.25rem;
  padding: 0;
}

.hs-elevate-button--link .hs-elevate-button__icon {
  margin-left: 0;
  margin-right: 0;
}

.hs-elevate-button--link:hover {
  color: var(--hsElevate--button--link__hover--textColor, inherit);
  background-color: transparent;
  border: none;
  text-decoration: none;
  opacity: 1;
}

.hs-elevate-button--link:hover .hs-elevate-button__text {
  text-decoration: underline;
  text-decoration-color: var(--hsElevate--button--link__hover--decorationColor, currentColor);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.hs-elevate-button--link:active {
  color: var(--hsElevate--button--link__hover--textColor, inherit);
  background-color: transparent;
  border: none;
  text-decoration: none;
  opacity: 0.7;
}

.hs-elevate-button--link:active .hs-elevate-button__text {
  text-decoration: underline;
  text-decoration-color: var(--hsElevate--button--link__hover--decorationColor, currentColor);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.hs-elevate-button--dark-link {
  font-family: var(--hsElevate--button--dark-link__fontFamily);
  font-size: var(--hsElevate--button--dark-link__fontSize);
  font-weight: var(--hsElevate--button--dark-link__fontWeight);
  font-style: var(--hsElevate--button--dark-link__fontStyle);
  letter-spacing: var(--hsElevate--button--dark-link__letterSpacing);
  text-transform: var(--hsElevate--button--dark-link__textTransform, none);
  color: var(--hsElevate--button--dark-link__textColor, inherit);
  background-color: transparent;
  border: none;
  border-radius: 0;
  text-decoration: none;
  min-width: 0;
  height: auto;
  justify-content: flex-start;
  gap: 0.25rem;
  padding: 0;
}

.hs-elevate-button--dark-link .hs-elevate-button__icon {
  margin-left: 0;
  margin-right: 0;
}

.hs-elevate-button--dark-link:hover {
  color: var(--hsElevate--button--dark-link__hover--textColor, inherit);
  background-color: transparent;
  border: none;
  text-decoration: none;
  opacity: 1;
}

.hs-elevate-button--dark-link:hover .hs-elevate-button__text {
  text-decoration: underline;
  text-decoration-color: var(--hsElevate--button--dark-link__hover--decorationColor, currentColor);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.hs-elevate-button--dark-link:active {
  color: var(--hsElevate--button--dark-link__hover--textColor, inherit);
  background-color: transparent;
  border: none;
  text-decoration: none;
  opacity: 0.7;
}

.hs-elevate-button--dark-link:active .hs-elevate-button__text {
  text-decoration: underline;
  text-decoration-color: var(--hsElevate--button--dark-link__hover--decorationColor, currentColor);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.hs-elevate-card--variant-1 {
  border-color: var(--hsElevate--card--variant1__borderColor);
  border-radius: var(--hsElevate--card--variant1__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant1__borderThickness);
  background-color: var(--hsElevate--card--variant1__backgroundColor);
  color: var(--hsElevate--card--variant1__textColor);
}

.hs-elevate-card--variant-1 h1, .hs-elevate-card--variant-1 h2, .hs-elevate-card--variant-1 h3, .hs-elevate-card--variant-1 h4, .hs-elevate-card--variant-1 h5, .hs-elevate-card--variant-1 h6 {
    color: var(--hsElevate--card--variant1__textColor);
  }

.hs-elevate-card--variant-1 p {
    color: var(--hsElevate--card--variant1__bodyColor);
  }

.hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant1--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant1--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant1--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant1--link__textDecorationColor);
  }

.hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant1--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant1--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant1--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant1--link__hover--textDecorationColor);
  }

.hs-elevate-card--variant-2 {
  border-color: var(--hsElevate--card--variant2__borderColor);
  border-radius: var(--hsElevate--card--variant2__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant2__borderThickness);
  background-color: var(--hsElevate--card--variant2__backgroundColor);
  color: var(--hsElevate--card--variant2__textColor);
}

.hs-elevate-card--variant-2 h1, .hs-elevate-card--variant-2 h2, .hs-elevate-card--variant-2 h3, .hs-elevate-card--variant-2 h4, .hs-elevate-card--variant-2 h5, .hs-elevate-card--variant-2 h6 {
    color: var(--hsElevate--card--variant2__textColor);
  }

.hs-elevate-card--variant-2 p {
    color: var(--hsElevate--card--variant2__bodyColor);
  }

.hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant2--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant2--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant2--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant2--link__textDecorationColor);
  }

.hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant2--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant2--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant2--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant2--link__hover--textDecorationColor);
  }

.hs-elevate-accordion--variant-1 {
  border-color: var(--hsElevate--accordion--variant1__borderColor);
  border-radius: var(--hsElevate--accordion--variant1__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--accordion--variant1__borderThickness);
  background-color: var(--hsElevate--accordion--variant1__backgroundColor);
  color: var(--hsElevate--accordion--variant1__textColor);
}

.hs-elevate-accordion--variant-1 h1, .hs-elevate-accordion--variant-1 h2, .hs-elevate-accordion--variant-1 h3, .hs-elevate-accordion--variant-1 h4, .hs-elevate-accordion--variant-1 h5, .hs-elevate-accordion--variant-1 h6 {
    color: var(--hsElevate--accordion--variant1__textColor);
  }

.hs-elevate-accordion--variant-1 p {
    color: var(--hsElevate--accordion--variant1__bodyColor);
  }

.hs-elevate-accordion--variant-2 {
  border-color: var(--hsElevate--accordion--variant2__borderColor);
  border-radius: var(--hsElevate--accordion--variant2__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--accordion--variant2__borderThickness);
  background-color: var(--hsElevate--accordion--variant2__backgroundColor);
  color: var(--hsElevate--accordion--variant2__textColor);
}

.hs-elevate-accordion--variant-2 h1, .hs-elevate-accordion--variant-2 h2, .hs-elevate-accordion--variant-2 h3, .hs-elevate-accordion--variant-2 h4, .hs-elevate-accordion--variant-2 h5, .hs-elevate-accordion--variant-2 h6 {
    color: var(--hsElevate--accordion--variant2__textColor);
  }

.hs-elevate-accordion--variant-2 p {
    color: var(--hsElevate--accordion--variant2__bodyColor);
  }

/* Form */

.hs-form,
.hs-elevate-system-form form,
.hs-elevate-system-form--subscription-preferences form .email-prefs {
  padding: var(--hsElevate--form__padding);
  border-color: var(--hsElevate--form__borderColor);
  border-radius: var(--hsElevate--form__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--form__borderThickness);
  background: var(--hsElevate--form__backgroundColor);
}

/* Form labels */

:is(.hs-form, .hs-elevate-system-form) label,
.hs-elevate-system-form--subscription-preferences .fakelabel {
  display: block;
  color: var(--hsElevate--formLabel__textColor);
  font-family: var(--hsElevate--formLabel__font);
  font-size: var(--hsElevate--formLabel__fontSize);
  font-weight: var(--hsElevate--formLabel__fontWeight);
  margin-block-end: var(--hsElevate--formLabel__marginBottom);
}

/* Form fields */

.hs-form .hs-form-field {
  margin-block-end: var(--hsElevate--formField__marginBottom);
}

:is(.hs-form, .hs-elevate-system-form) input[type='text'],
:is(.hs-form, .hs-elevate-system-form) input[type='email'],
:is(.hs-form, .hs-elevate-system-form) input[type='password'],
:is(.hs-form, .hs-elevate-system-form) input[type='tel'],
:is(.hs-form, .hs-elevate-system-form) input[type='number'],
:is(.hs-form, .hs-elevate-system-form) input[type='search'],
:is(.hs-form, .hs-elevate-system-form) select,
:is(.hs-form, .hs-elevate-system-form) textarea {
  width: 100% !important;
  border-radius: var(--hsElevate--formField__borderRadius);
  border-top: var(--hsElevate--formField__borderTop);
  border-right: var(--hsElevate--formField__borderRight);
  border-bottom: var(--hsElevate--formField__borderBottom);
  border-left: var(--hsElevate--formField__borderLeft);
  background-color: var(--hsElevate--formField__backgroundColor);
  color: var(--hsElevate--formFieldInput__textColor);
  padding-block: var(--hsElevate--spacing--20);
  padding-inline: var(--hsElevate--spacing--32);
}

.hs-input.hs-fieldtype-intl-phone {
  display: flex;
  width: 100% !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px; /* matches column margins from form injection */
}

.hs-input.hs-fieldtype-intl-phone > input {
  flex: 1 0 calc(70% - 8px) !important;
}

.hs-input.hs-fieldtype-intl-phone > select {
  flex: 1 0 30% !important;
}

/* Breakpoint: below sm (mobile) */

@media (max-width: 39.999rem) {
  .hs-input.hs-fieldtype-intl-phone {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 8px;
  }

  .hs-input.hs-fieldtype-intl-phone > select,
  .hs-input.hs-fieldtype-intl-phone > input {
    min-width: 100%;
    flex: 1 1 100%;
  }
}

.hs-form fieldset {
  max-width: 100% !important;
}

/* Form fields - textarea */

.hs-form textarea {
  position: relative;
  height: 160px;
  border-radius: var(--hsElevate--formFieldTextArea__borderRadius);
}

.hs-form textarea::-webkit-resizer {
  display: none;
}

.hs-form .hs_multi_line_field .input {
  position: relative;
}

.hs-form .hs_multi_line_field .input:after {
  position: absolute;
  right: var(--hsElevate--spacing--8);
  bottom: var(--hsElevate--spacing--8);
  content: var(--hsElevate--formField__dragIcon);
  pointer-events: none;
}

/* Form fields - select */

.hs-form .hs-fieldtype-select .input {
  position: relative;
}

.hs-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.hs-form .hs-fieldtype-select .input:after {
  position: absolute;
  top: 50%;
  right: var(--hsElevate--spacing--32);
  content: var(--hsElevate--formField__selectIcon);
  pointer-events: none;
  transform: translateY(-50%);
}

/* Form fields - datepicker */

.hs-form .hs-dateinput {
  position: relative;
}

.hs-form .hs-dateinput:before {
  position: absolute;
  top: 50%;
  right: var(--hsElevate--spacing--32);
  content: var(--hsElevate--formField__datepickerIcon);
  pointer-events: none;
  transform: translateY(-50%);
}

/* Form fields - placeholders */

::-moz-placeholder {
  color: var(--hsElevate--formFieldPlaceholder__textColor);
}

::placeholder {
  color: var(--hsElevate--formFieldPlaceholder__textColor);
}

/* Form fields - checkbox/radio */

.hs-form .inputs-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.hs-form .inputs-list li {
  display: block;
  margin-block-end: var(--hsElevate--spacing--16);
}

.hs-form .inputs-list li:last-of-type {
  margin-block-end: 0;
}

.hs-form .inputs-list :is(input, span) {
  vertical-align: middle;
}

:is(.hs-form, .hs-elevate-system-form) input[type='checkbox'],
:is(.hs-form, .hs-elevate-system-form) input[type='radio'] {
  height: var(--hsElevate--formFieldCheckboxRadio__size);
  width: var(--hsElevate--formFieldCheckboxRadio__size) !important;
  accent-color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  cursor: pointer;
  margin-inline-end: var(--hsElevate--spacing--12);
}

/* Form help text */

.hs-form legend {
  /* To do: figure out where we should pull this from */
  color: var(--hsElevate--formHelpText__textColor);
  margin-block-end: var(--hsElevate--spacing--8);
}

/* Form rich text */

.hs-form .hs-richtext {
  color: var(--hsElevate--formLabel__textColor);
}

.hs-form .hs-richtext img {
  height: auto;
  max-width: 100% !important;
}

/* Form error messages */

.hs-form .hs-input.error {
  border-color: var(--hsElevate--formRequired__color);
}

.hs-form .hs-error-msg,
.hs-form .hs-error-msgs {
  color: var(--hsElevate--formRequired__color);
  margin-block-start: var(--hsElevate--spacing--4);
}

/* Form button */

:is(.hs-form, .hs-elevate-system-form) .hs-button,
:is(.hs-form, .hs-elevate-system-form) input[type='submit'] {
  display: inline-block;
  width: 100%;
  border-color: var(--hsElevate--button--primary__borderColor);
  border-radius: var(--hsElevate--button--primary__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--button--primary__borderThickness);
  background-color: var(--hsElevate--button--primary__backgroundColor);
  color: var(--hsElevate--button--primary__textColor);
  cursor: pointer;
  font-family: var(--hsElevate--button--primary__font);
  font-size: var(--hsElevate--button--primary__fontSize);
  font-style: var(--hsElevate--button--primary__fontStyle);
  font-weight: var(--hsElevate--button--primary__fontWeight);
  text-transform: var(--hsElevate--button--primary__textTransform, none);
  padding-block: var(--hsElevate--spacing--20);
  padding-inline: var(--hsElevate--spacing--24);
  text-align: center;
  text-decoration: none;
  transition: all 0.15s linear;
  white-space: normal !important;
}

:is(.hs-form, .hs-elevate-system-form) .hs-button:hover,
:is(.hs-form, .hs-elevate-system-form) .hs-button:focus,
:is(.hs-form, .hs-elevate-system-form) input[type='submit']:hover,
:is(.hs-form, .hs-elevate-system-form) input[type='submit']:focus {
  border-color: var(--hsElevate--button--primary__hover--borderColor);
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  color: var(--hsElevate--button--primary__hover--textColor);
  text-decoration: none;
}

/* Captcha */

.grecaptcha-badge {
  margin-block: 0;
  margin-inline: auto;
}

/* Section Label Wrapper - Checkerboard Background */

.section-label-wrapper {
  background-image: 
    linear-gradient(45deg, #e6e6e6 25%, transparent 25%),
    linear-gradient(-45deg, #e6e6e6 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e6e6e6 75%),
    linear-gradient(-45deg, transparent 75%, #e6e6e6 75%) !important;
  background-size: 20px 20px !important;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px !important;
  background-color: #f1f1f1 !important;
  background-repeat: repeat !important;
}

/* Override HubSpot's generated background styles for section label rows */

[class*="label-dnd_partial"][class*="-background-layers"] {
  background-image: 
    linear-gradient(45deg, #e6e6e6 25%, transparent 25%),
    linear-gradient(-45deg, #e6e6e6 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #e6e6e6 75%),
    linear-gradient(-45deg, transparent 75%, #e6e6e6 75%) !important;
  background-size: 20px 20px !important;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px !important;
  background-color: #f1f1f1 !important;
  background-repeat: repeat !important;
}

/* Components */

/**
 * Splide.js base CSS — loaded globally via HubL CSS layer.
 *
 * This replaces the `import '@splidejs/react-splide/css'` that was previously
 * done inside island components. Having two islands both import the same global
 * CSS caused HubSpot's build system to break the styling.
 *
 * By loading Splide CSS once here, any number of Splide-based modules can
 * coexist without conflict.
 *
 * Source: @splidejs/react-splide v0.7.12 (splide v4.1.4)
 */

/* Core */

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

/* Arrows */

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

/* Pagination */

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

/* Progress */

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

/* Slide focus */

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}

@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}

/* Toggle */

.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

/* Nav track */

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

/* RTL arrows */

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

/* TTB arrows */

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

/* TTB pagination */

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/* Sticky Header - controlled by theme setting */

/* Apply sticky to the partial wrapper that HubSpot generates */

.sticky-header-enabled div[data-global-resource-path*="header.hubl.html"] {
  position: sticky;
  top: 0;
  z-index: 100;
  transition: transform 0.3s ease;
}

/* When sticky header is enabled and has promo bar, offset the sticky position */

/* This allows the promo bar to scroll up out of view */

.sticky-header-enabled div[data-global-resource-path*="header.hubl.html"]:has(.hs-elevate-promo-bar) {
  top: calc(-1 * var(--promo-bar-height, 48px));
}

/* Ensure header has background color */

.sticky-header-enabled .hs-elevate-header {
  background-color: var(--hsElevate--color--white);
}

/* Scroll-aware: Hide header when scrolling down */

div[data-global-resource-path*="header.hubl.html"].hs-elevate-site-header--scroll-hidden {
  transform: translateY(-100%);
}

/* Navigation skipper */

.hs-elevate-header__skip {
  position: absolute;
  top: -1000px;
  left: -1000px;
  overflow: hidden;
  height: 1px;
  width: 1px;
  text-align: left;
}

.hs-elevate-header__skip:hover,
.hs-elevate-header__skip:focus,
.hs-elevate-header__skip:active {
  z-index: 2;
  top: 0;
  left: 0;
  overflow: visible;
  height: auto;
  width: auto;
}

/*
  TODO: Move this code to the MenuComponent styled-component code -- keeping it here to prevent conflicts with open Menu PRs
  TODO: Remove this file and its references from main.hubl.css
*/

/* Complex Footer Layout */

.hs-elevate-complex-footer {
  /* Default: full width (1920px). Override with --hsElevate--footer__maxWidth for narrower footers */
  max-width: var(--hsElevate--footer__maxWidth, var(--hsElevate--contentWrapper--full__maxWidth));
  margin-inline: auto;
  padding: 40px var(--hsElevate--section--horizontalPadding);
}

.hs-elevate-complex-footer__inner {
  overflow: hidden; /* Clip children to border-radius */
}

/* Override DND section backgrounds within footer - let inner div control background */

.hs-elevate-complex-footer .dnd-section {
  background-color: transparent !important;
}

/* Breakpoint: below md (mobile/small tablet) */

@media (max-width: 47.999rem) {
  .hs-elevate-footer .hs-elevate-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/*
  Spacing variables are:
  --hsElevate--menuItem__padding
  --hsElevate--menuItem__margin
  --hsElevate--menu--topLevel__gap
  --hsElevate--flyoutSubMenu__top
  --hsElevate--flyoutSubMenu__left
  --hsElevate--flyoutSubMenu__right
  --hsElevate--flyoutSubMenu__bottom
  --hsElevate--firstFlyoutMenu__top
  --hsElevate--firstFlyoutMenu__left
  --hsElevate--firstFlyoutMenu__right
  --hsElevate--firstFlyoutMenu__bottom
 */

.hs-elevate-menu {
  display: flex;
}

.hs-elevate-menu,
.hs-elevate-menu ul {
  list-style: none;
}

.hs-elevate-menu li {
  position: relative;
}

.hs-elevate-menu--horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}

.hs-elevate-menu--vertical {
  flex-direction: column;
}

.hs-elevate-menu {
  gap: var(--hsElevate--menu--topLevel__gap, 0);
}

.hs-elevate-menu--desktop {
  margin: 0;
}

.hs-elevate-menu__flyout-submenu {
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: 280px;
  white-space: nowrap;
  overflow-wrap: break-word;
  padding: var(--hsElevate--flyout__padding, 16px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--hsElevate--flyout__borderRadius, 12px);
  background-color: white;
  
  /* Dropdown animation - hidden state */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* Override HubSpot's default display: none behavior (desktop flyouts) */

.hs-elevate-menu__submenu,
ul.hs-elevate-menu__submenu {
  display: block !important; /* Always block, control visibility with opacity/visibility */
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* Mobile menus: reset opacity/visibility so <details>/<summary> controls visibility natively */

.hs-elevate-menu--mobile .hs-elevate-menu__submenu,
.hs-elevate-menu--mobile ul.hs-elevate-menu__submenu {
  display: revert !important;
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition: none;
}

/* Dropdown animation - visible state on hover */

.hs-elevate-menu li:hover > .hs-elevate-menu__flyout-submenu,
.hs-elevate-menu li:hover > .hs-elevate-menu__submenu,
.hs-elevate-menu li:hover > ul.hs-elevate-menu__submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition-delay: 0s; /* Remove delay when opening */
}

/* Add slight delay before closing dropdown for better UX */

.hs-elevate-menu__flyout-submenu,
.hs-elevate-menu__submenu,
ul.hs-elevate-menu__submenu {
  transition-delay: 0.1s; /* Delay closing by 100ms */
}

/* Second-level dropdowns (nested menus) - slide in from right */

.hs-elevate-menu__flyout-submenu .hs-elevate-menu__flyout-submenu,
.hs-elevate-menu__submenu .hs-elevate-menu__submenu,
ul.hs-elevate-menu__submenu ul.hs-elevate-menu__submenu {
  transform: translateX(8px);
}

.hs-elevate-menu__flyout-submenu li:hover > .hs-elevate-menu__flyout-submenu,
.hs-elevate-menu__submenu li:hover > .hs-elevate-menu__submenu,
ul.hs-elevate-menu__submenu li:hover > ul.hs-elevate-menu__submenu {
  transform: translateX(0);
  visibility: visible;
}

/* Backdrop overlay — shown when desktop dropdown is open */

.hs-elevate-menu__backdrop {
  position: fixed;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background-color: rgba(112, 112, 112, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
  transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

.hs-elevate-menu__backdrop--visible {
  pointer-events: auto;
  background-color: rgba(112, 112, 112, 0.125);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Respect user's motion preferences */

@media (prefers-reduced-motion: reduce) {
  .hs-elevate-menu__flyout-submenu,
  .hs-elevate-menu__submenu,
  ul.hs-elevate-menu__submenu {
    transition-duration: 0.01ms;
    transform: none;
  }
  
  .hs-elevate-menu__flyout-submenu .hs-elevate-menu__flyout-submenu,
  .hs-elevate-menu__submenu .hs-elevate-menu__submenu,
  ul.hs-elevate-menu__submenu ul.hs-elevate-menu__submenu {
    transform: none;
  }

  .hs-elevate-menu__backdrop {
    transition-duration: 0.01ms;
  }
}

.logo-company-name {
  margin-block: 0;
}

/* Offsets margin on ul element inside default image grid */

.hs-image__grid__list {
  margin-block: 0;
}

/* Logo responsive styling */

.widget-type-logo img {
  height: auto;
  max-width: 100%;
}

/* Preset-specific styles */

/* Onyx preset specific styles */

  

  

/* Utilities */

/* ==========================================================================
   Row Gap Utilities
   
   Vertical spacing between rows within DND sections.
   Opt-in only — apply via 'class' param on dnd_section in SECTION TEMPLATES.
   (Not supported in page templates — HubSpot limitation.)
   
   Section template usage:
     dnd_section class='row-gap-none'
     dnd_section class='row-gap-sm'
     dnd_section class='row-gap-md'
     dnd_section class='row-gap-lg'
   
   Values driven by theme settings (Layout > Row Gaps) via CSS variables:
     --hsElevate--rowGap--small   (desktop/tablet/mobile)
     --hsElevate--rowGap--medium  (desktop/tablet/mobile)
     --hsElevate--rowGap--large   (desktop/tablet/mobile)
   
   The adjacent-sibling selector ensures no gap above the first row.
   ========================================================================== */

/* None - explicitly remove gaps */

.row-gap-none .dnd-column > .row-fluid-wrapper + .row-fluid-wrapper {
  margin-top: 0;
}

/* Small */

.row-gap-sm .dnd-column > .row-fluid-wrapper + .row-fluid-wrapper {
  margin-top: var(--hsElevate--rowGap--small);
}

/* Medium */

.row-gap-md .dnd-column > .row-fluid-wrapper + .row-fluid-wrapper {
  margin-top: var(--hsElevate--rowGap--medium);
}

/* Large */

.row-gap-lg .dnd-column > .row-fluid-wrapper + .row-fluid-wrapper {
  margin-top: var(--hsElevate--rowGap--large);
}

/* ==========================================================================
   Content Layout Utilities
   
   Composable utility classes for controlling horizontal gaps, content ratios,
   and stack breakpoints on DND rows. Layers on top of the existing span system
   without modifying it.
   
   Usage: Add classes via class= on dnd_section in section files.
   
   Three composable class types:
     1. content-gap-*     — horizontal gap size (sm/md/lg)
     2. content-ratio-*   — flex ratio for asymmetric layouts
     3. stack-*           — breakpoint at which columns stack
   
   See docs/theme-systems/content-layout-utilities.md for full documentation.
   ========================================================================== */

/* ==========================================================================
   1. Content Gap Classes
   
   Switches the row from justify-content: space-between (default DND behavior)
   to CSS gap-based layout with a fixed pixel gap. Clears the calc() widths
   on span classes so flex controls sizing instead.
   ========================================================================== */

/* Desktop (default) — gap values from CSS variables
   HubSpot DOM: .row-fluid-wrapper.cssClass > .row-fluid > .spanN
   So cssClass from dnd_row lands on .row-fluid-wrapper, not .row-fluid. */

@media (min-width: 48rem) {
  .dnd-section.content-gap-sm > .row-fluid,
  .dnd-section.content-gap-md > .row-fluid,
  .dnd-section.content-gap-lg > .row-fluid {
    justify-content: initial;
  }

  .dnd-section.content-gap-sm > .row-fluid { gap: var(--hsElevate--contentGap--sm); }
  .dnd-section.content-gap-md > .row-fluid { gap: var(--hsElevate--contentGap--md); }
  .dnd-section.content-gap-lg > .row-fluid { gap: var(--hsElevate--contentGap--lg); }

  /* Clear the calc() span widths when a content-gap class is active */
  .dnd-section.content-gap-sm > .row-fluid > [class*="span"],
  .dnd-section.content-gap-md > .row-fluid > [class*="span"],
  .dnd-section.content-gap-lg > .row-fluid > [class*="span"] {
    width: auto;
  }
}

/* ==========================================================================
   2. Content Ratio Classes
   
   Control the proportional split between columns using flex.
   Applied alongside a content-gap-* class.
   
   The span classes still satisfy HubSpot's DND system requirements,
   but the visual width is driven by flex ratios.
   ========================================================================== */

/* Equal splits — all children same size */

.dnd-section.content-ratio-equal > .row-fluid > [class*="span"] {
  flex: 1;
}

/* 1:1 split — explicit 50/50 (alias for equal in 2-col) */

.dnd-section.content-ratio-1-1 > .row-fluid > [class*="span"] {
  flex: 1;
}

/* 6:5 split (~55/45) — common text + image */

.dnd-section.content-ratio-6-5 > .row-fluid > [class*="span"]:first-child { flex: 6; }

.dnd-section.content-ratio-6-5 > .row-fluid > [class*="span"]:last-child  { flex: 5; }

/* 5:6 split (~45/55) — reversed */

.dnd-section.content-ratio-5-6 > .row-fluid > [class*="span"]:first-child { flex: 5; }

.dnd-section.content-ratio-5-6 > .row-fluid > [class*="span"]:last-child  { flex: 6; }

/* 7:5 split (~58/42) */

.dnd-section.content-ratio-7-5 > .row-fluid > [class*="span"]:first-child { flex: 7; }

.dnd-section.content-ratio-7-5 > .row-fluid > [class*="span"]:last-child  { flex: 5; }

/* 5:7 split (~42/58) — reversed */

.dnd-section.content-ratio-5-7 > .row-fluid > [class*="span"]:first-child { flex: 5; }

.dnd-section.content-ratio-5-7 > .row-fluid > [class*="span"]:last-child  { flex: 7; }

/* 2:1 split (~67/33) */

.dnd-section.content-ratio-2-1 > .row-fluid > [class*="span"]:first-child { flex: 2; }

.dnd-section.content-ratio-2-1 > .row-fluid > [class*="span"]:last-child  { flex: 1; }

/* 1:2 split (~33/67) — reversed */

.dnd-section.content-ratio-1-2 > .row-fluid > [class*="span"]:first-child { flex: 1; }

.dnd-section.content-ratio-1-2 > .row-fluid > [class*="span"]:last-child  { flex: 2; }

/* ==========================================================================
   3. Stack Breakpoint Classes
   
   Control when columns collapse to full-width stacked layout.
   Without any stack class, columns follow default HubSpot behavior
   (stack at <768px).
   ========================================================================== */

/* Stack at tablet (<1024px) — row-gap defaults to --md, overridden by content-gap-{N} pixel classes */

@media (max-width: 63.999rem) {
  .dnd-section.stack-tablet > .row-fluid {
    flex-wrap: wrap;
    justify-content: initial;
    row-gap: var(--hsElevate--contentGap--md);
  }

  .dnd-section.stack-tablet > .row-fluid > [class*="span"] {
    flex: none !important;
    width: 100% !important;
  }
}

/* Stack at mobile (<768px) — row-gap defaults to --sm, overridden by content-gap-{N} pixel classes */

@media (max-width: 47.999rem) {
  .dnd-section.stack-mobile > .row-fluid {
    flex-wrap: wrap;
    justify-content: initial;
    row-gap: var(--hsElevate--contentGap--sm);
  }

  .dnd-section.stack-mobile > .row-fluid > [class*="span"] {
    flex: none !important;
    width: 100% !important;
  }
}

/* Never stack — stays side-by-side at all widths */

.dnd-section.stack-never > .row-fluid {
  flex-wrap: nowrap !important;
}

/* Debug Mode - DND Hierarchy (3 independent toggles) */

/* Columns - Red */

.debug-columns .dnd-column {
  outline: 1px dashed red !important;
}

/* Rows - Lime Green */

.debug-rows .dnd-row {
  outline: 1px dashed limegreen !important;
  outline-offset: -1px;
}

/* Modules - Orange */

.debug-modules .dnd-module {
  outline: 1px dashed orange !important;
  outline-offset: -2px;
}

/* Exclude section label wrappers from all debug styling */

.debug-columns .section-label-wrapper .dnd-column,
.debug-rows .section-label-wrapper .dnd-row,
.debug-modules .section-label-wrapper .dnd-module {
  outline: none !important;
}

/* Breakpoint Indicator - Fixed Position */

.breakpoint-indicator {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999;
  pointer-events: none;
  background: #000;
  color: #fff;
  padding: 6px 12px;
  text-align: center;
  font-family: monospace;
  font-size: 12px;
  font-weight: 600;
  border-radius: 4px;
  width: -moz-fit-content;
  width: fit-content;
}

.breakpoint-indicator.light {
  background: #fff;
  color: #222222;
}

.breakpoint-indicator__label {
  display: none;
}

/* Show appropriate breakpoint label based on viewport width */

@media (max-width: 39.999rem) {
  .breakpoint-indicator__label--mobile {
    display: inline;
  }
}

@media (min-width: 40rem) and (max-width: 47.999rem) {
  .breakpoint-indicator__label--sm {
    display: inline;
  }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .breakpoint-indicator__label--md {
    display: inline;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .breakpoint-indicator__label--lg {
    display: inline;
  }
}

@media (min-width: 80rem) and (max-width: 95.999rem) {
  .breakpoint-indicator__label--xl {
    display: inline;
  }
}

@media (min-width: 96rem) {
  .breakpoint-indicator__label--2xl {
    display: inline;
  }
}

/* Template Slug (copyable) */

.sections-preview-nav__slug {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  padding: 2px 8px;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-family: monospace;
  font-size: 11px;
  color: #666;
  cursor: pointer;
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
  transition: background 0.15s ease;
}

.sections-preview-nav__slug:hover {
  background: #e0e0e0;
}

.sections-preview-nav__slug:active {
  background: #d0d0d0;
}

/* Sections Preview Navigation */

.sections-preview-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 2px solid #e0e0e0;
  padding: 16px 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.sections-preview-nav__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.sections-preview-nav__toolbar details {
  flex: 1;
}

.sections-preview-nav summary {
  font-weight: 400;
  font-size: 16px;
  cursor: pointer;
  padding: 8px 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.sections-preview-nav summary:hover {
  color: #22c55e;
}

/* Debug Toggle Switch */

.debug-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 500;
  color: #666;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.debug-toggle__switch {
  position: relative;
  width: 36px;
  height: 20px;
  background: #ccc;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.debug-toggle__switch::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.debug-toggle__switch.active {
  background: #ef4444;
}

.debug-toggle__switch.active--rows {
  background: #22c55e;
}

.debug-toggle__switch.active--modules {
  background: #f97316;
}

.debug-toggle__switch.active::after,
.debug-toggle__switch.active--rows::after,
.debug-toggle__switch.active--modules::after {
  transform: translateX(16px);
}

/* Preview Page Cross-Links */

.sections-preview-nav__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 4px;
}

.sections-preview-nav__group-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #999;
  padding: 2px 4px;
  align-self: center;
}

.sections-preview-nav__group-label:not(:first-child) {
  margin-left: 6px;
  padding-left: 10px;
  border-left: 1px solid #ddd;
}

.sections-preview-nav__pages a {
  display: inline-block;
  padding: 4px 10px;
  text-decoration: none;
  color: #666;
  background: #f0f0f0;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 500;
  transition: all 0.2s ease;
}

.sections-preview-nav__pages a:hover {
  background: #22c55e;
  color: #fff;
  text-decoration: none;
}

.sections-preview-nav__pages a.active {
  background: #333;
  color: #fff;
  pointer-events: none;
}

.sections-preview-nav__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 6px;
  gap: 6px;
}

@media (min-width: 640px) {
  .sections-preview-nav__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .sections-preview-nav__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1280px) {
  .sections-preview-nav__grid {
    grid-template-columns: repeat(5, 1fr);
  }
}

.sections-preview-nav__grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  text-decoration: none;
  color: #333;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 12px;
  text-align: center;
  transition: all 0.2s ease;
}

.sections-preview-nav__grid a:hover {
  background: #22c55e;
  color: #fff;
  text-decoration: none;
}