/* 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: 200;
  --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: 18px;
  --hsElevate--eyebrow__fontWeight: 700;
  --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: 0.875rem; /* 14px */
  --hsElevate--cta__lineHeight: 14px;
  --hsElevate--cta__fontWeight: 700;
  --hsElevate--cta__fontStyle: normal;
  --hsElevate--cta__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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__letterSpacing: 0.5px;
  --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;
  --hsElevate--button--link__letterSpacing: 0.5px;

  /* 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;
  --hsElevate--button--dark-link__letterSpacing: 0.5px;

  /* 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;

  /* ========================================
     FORMS
     ======================================== */

  /* Form container — no fill, no border, no padding */
  --hsElevate--form__padding: 0;

  /* Form field — transparent bg, violet border, rounded */
  --hsElevate--formField__backgroundColor: transparent;
  --hsElevate--formField__borderTop: 1px solid #4B48B7;
  --hsElevate--formField__borderRight: 1px solid #4B48B7;
  --hsElevate--formField__borderBottom: 1px solid #4B48B7;
  --hsElevate--formField__borderLeft: 1px solid #4B48B7;
  --hsElevate--formField__borderThickness: 1px;
  --hsElevate--formField__borderColor: #4B48B7;

  /* Form field text */
  --hsElevate--formFieldInput__textColor: #10001F;
  --hsElevate--formFieldPlaceholder__textColor: rgba(255, 255, 255, 0.6);

  /* Form labels */
  --hsElevate--formLabel__textColor: #10001F;
  --hsElevate--formLabel__font: "DM Sans", sans-serif;
  --hsElevate--formLabel__fontSize: 1rem;
  --hsElevate--formLabel__fontWeight: 400;

  /* Form help text */

  /* Form checkbox/radio */
  --hsElevate--formFieldCheckboxRadio__size: 18px;
  --hsElevate--formFieldCheckboxRadio__fillColor: #4B48B7;

  /* Form error */

  /* ========================================
     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;
  --hsElevate--section--thankyou__verticalPadding: 200px;

  /* 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 (legacy — margin-block shorthand, kept for upstream compat) */

  /* ── Sprout typography margin-top ──
     All rich-text elements use margin-block-start (margin-top).
     Spacer-scale values have mobile overrides below.
     Fixed values are the same at all breakpoints. */

  /* Headings — spacer scale 36 (36/36) */
  --sprout-typo-mt--h1: 36px;
  --sprout-typo-mt--h2: 36px;
  --sprout-typo-mt--h3: 36px;
  --sprout-typo-mt--h4: 36px;
  --sprout-typo-mt--h5: 36px;
  --sprout-typo-mt--h6: 36px;

  /* Paragraph after heading/other — spacer scale 12 (12/8) */
  --sprout-typo-mt--p: 12px;

  /* Paragraph after paragraph — fixed 16px */
  --sprout-typo-mt--p-consecutive: 16px;

  /* Lists — fixed 24px */
  --sprout-typo-mt--list: 24px;

  /* List item gap — fixed 12px */
  --sprout-typo-mt--li: 12px;

  /* Blockquote — spacer scale 36 (36/36) */
  --sprout-typo-mt--blockquote: 36px;

  /* Image — spacer scale 36 (36/36) */
  --sprout-typo-mt--img: 36px;

  /* HR — spacer scale 36 (36/36) */
  --sprout-typo-mt--hr: 36px;

  /* Table — spacer scale 36 (36/36) */
  --sprout-typo-mt--table: 36px;

  /* List marker color — color/brand/violet/500 */
  --sprout-typo--marker-color: #4B48B7;

  /* Blockquote padding — spacer scale 48 inline (48/32), 12 block (12/8) */
  --sprout-typo--blockquote-pi: 48px;
  --sprout-typo--blockquote-pb: 12px;
}

/* Sub-desktop gutter override (< 1440px) — use tablet horizontal padding earlier */

@media (max-width: 1439px) {
  :root {
    --hsElevate--section--horizontalPadding: 24px;
  }
}

/* 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;
    --hsElevate--section--thankyou__verticalPadding: 128px;

    /* 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: 1rem; /* 16px */
    --hsElevate--eyebrow__lineHeight: 18px;
    --hsElevate--eyebrow__fontWeight: 700;
    --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: 0.875rem; /* 14px */
    --hsElevate--cta__lineHeight: 14px;
    --hsElevate--cta__fontWeight: 700;
    --hsElevate--cta__fontStyle: normal;
    --hsElevate--cta__letterSpacing: 0.5px;
    --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;
    --hsElevate--section--thankyou__verticalPadding: 128px;

    /* 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: 1rem; /* 16px */
    --hsElevate--eyebrow__lineHeight: 18px;
    --hsElevate--eyebrow__fontWeight: 700;
    --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: 0.875rem; /* 14px */
    --hsElevate--cta__lineHeight: 14px;
    --hsElevate--cta__fontWeight: 700;
    --hsElevate--cta__fontStyle: normal;
    --hsElevate--cta__letterSpacing: 0.5px;
    --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;

    /* Sprout typography margin-top — mobile overrides (spacer-scale items only) */
    --sprout-typo-mt--p: 8px; /* spacer scale 12 → mobile 8 */

    /* Blockquote padding — mobile overrides */
    --sprout-typo--blockquote-pi: 32px; /* spacer scale 48 → mobile 32 */
    --sprout-typo--blockquote-pb: 8px; /* spacer scale 12 → mobile 8 */
  }
}

/* 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 ;
    --hsElevate--section--thankyou__verticalPadding:  200px ;

    /* 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);
}

/* Sub-desktop gutter override (< 1440px) — use tablet horizontal padding earlier */

@media (max-width: 1439px) {
  :root {
    --hsElevate--section--horizontalPadding:  24px ;
  }
}

/* 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 ;
    --hsElevate--section--thankyou__verticalPadding:  128px ;

    /* 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 ;
    --hsElevate--section--thankyou__verticalPadding:  128px ;

    /* 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: "DM Sans", sans-serif;
  --hsElevate--display__fontSize:  4.5rem ;
  --hsElevate--display__fontWeight:  200 ;
  --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.0rem ;
  --hsElevate--eyebrow__lineHeight:  18px ;
  --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:  200 ;
    --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.0rem ;
    --hsElevate--eyebrow__lineHeight:  18px ;
    --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:  200 ;
    --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 */
    

  /* 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 #4B48B7 ;
    --hsElevate--formField__borderRight:  1px solid #4B48B7 ;
    --hsElevate--formField__borderLeft:  1px solid #4B48B7 ;
    

    
    --hsElevate--formField__borderBottom:  1px solid #4B48B7 ;
    --hsElevate--formField__borderColor:  #4B48B7 ;
    

    

    

  /* 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:  #FFFFFF ;

  /* 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.0rem ;
  --hsElevate--formLabel__fontWeight:  400 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);

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

  /* Form background color */
    
    --hsElevate--form__backgroundColor: transparent;
    

  /* Form shape */
    
      
    

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

  /* Form border */
    
    --hsElevate--form__borderThickness: 0;
    --hsElevate--form__borderColor: transparent;
    

  /* 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--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-home-bg-desktop);
}

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

.sprout-page-contact-ty {
  background-image: var(--sprout-contact-ty-bg-desktop);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

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

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

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

  .sprout-page-contact-ty {
    background-image: var(--sprout-contact-ty-bg-mobile);
  }
}

/* Font Optical Sizing
   --------------------------------------------------------------------------
   Disable optical sizing for DM Sans (Sprout's body + heading font).
   Optical sizing auto-adjusts stroke weight at different sizes, which can
   make lighter weights (e.g. display 200) appear heavier than intended.
   -------------------------------------------------------------------------- */

body,
h1, h2, h3, h4, h5, h6,
.hs-elevate-display,
.hs-elevate-h1,
.hs-elevate-h2,
.hs-elevate-h3,
.hs-elevate-h4,
.hs-elevate-h5,
.hs-elevate-h6 {
  font-optical-sizing: none;
}

/* Button Letter Spacing — Global override
   --------------------------------------------------------------------------
   HubSpot theme settings only support em for letter-spacing. Force 0.5px
   across all button variants regardless of what the theme settings output.
   Uses [class*=] to beat per-variant specificity from _buttons.hubl.css.
   -------------------------------------------------------------------------- */

.hs-elevate-button[class*="hs-elevate-button--"] {
  letter-spacing: 0.5px;
}

/* Contact Page — narrower form panel + full-width form inner
   --------------------------------------------------------------------------
   Override the form panel and inner max-widths only on the contact template.
   -------------------------------------------------------------------------- */

.sprout-page-contact {
  --sprout-form-panel-max-width: 780px;
  --sprout-form-max-width: 100%;
}

/* Global list bullets — purple circle-check SVG
   --------------------------------------------------------------------------
   Replaces default disc bullets with the Sprout branded check icon across
   all rich text and module content. Uses the same SVG as sprout-list-icon.svg.
   -------------------------------------------------------------------------- */

.hs-elevate-body--large ul,
.hs-elevate-body--medium ul,
.hs-elevate-body--small ul {
  list-style: none;
  padding-left: 0;
}

.hs-elevate-body--large ul li,
.hs-elevate-body--medium ul li,
.hs-elevate-body--small ul li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 8px;
}

.hs-elevate-body--large ul li::before,
.hs-elevate-body--medium ul li::before,
.hs-elevate-body--small ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='20' height='20' rx='10' fill='%234B48B7'/%3E%3Cpath d='M8.24038 14.3078L4.16602 10.2334L5.18909 9.21033L8.24038 12.2616L14.8096 5.69238L15.8327 6.71546L8.24038 14.3078Z' fill='white'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-repeat: no-repeat;
}

/* Footer Background — match body background
   -------------------------------------------------------------------------- */

.sprout-footer-wrapper {
  background-color: var(--hsElevate--body__backgroundColor);
}

/* 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_dark).
   -------------------------------------------------------------------------- */

/* 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 88px;
}

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

/* 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 80px 88px;
}

@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 48px 56px;
  }
}

/* Gradient strip — image at bottom of card.
   ::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: var(--sprout-callout-gradient-strip) center / 100% 100% no-repeat;
}

/* Dark-Section Inline Link Colors
   --------------------------------------------------------------------------
   In dark sections, inline links (inside RichText, Accordion body, etc.)
   should be white and underlined. This overrides the theme's dark-section
   link CSS variables so sectionColorsMap picks it up automatically.

   Light-section links are handled separately:
   - Blog body: blog.hubl.css (.sprout-blog-body__content)
   - RichText wrappers: _typography.hubl.css (.hs_cos_wrapper_type_rich_text)
   -------------------------------------------------------------------------- */

:root {
  --hsElevate--section--darkSection--1--link__fontColor: #fff;
  --hsElevate--section--darkSection--1--link__textDecoration: underline;
  --hsElevate--section--darkSection--1--link__textDecorationColor: #fff;
  --hsElevate--section--darkSection--1--link__hover--fontColor: #fff;
  --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--darkSection--1--link__hover--textDecorationColor: #fff;
}

/* 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; }
}

/* Nested Row Utilities — now provided by upstream _nested-row.css
   Use unprefixed classes: nested-content-gap-*, nested-ratio-*, nested-stack-mobile
   See docs/theme-systems/dnd-spacing-strategy.md for full documentation. */

/* 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);
}

.dnd-section.section-padding-thankyou {
  padding-top: var(--hsElevate--section--thankyou__verticalPadding);
  padding-bottom: var(--hsElevate--section--thankyou__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-pt-thankyou { padding-top: var(--hsElevate--section--thankyou__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); }

.dnd-section.section-pb-thankyou { padding-bottom: var(--hsElevate--section--thankyou__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 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  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-end: 0;
  color: var(--hsElevate--typography__body-color);
}

/* Sprout paragraph spacing — scoped to blog body + RichText */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) p {
  margin-block-start: var(--sprout-typo-mt--p);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) p + p {
  margin-block-start: var(--sprout-typo-mt--p-consecutive);
}

/* Sprout inline link colors — scoped to RichText
   (blog body is handled in blog.hubl.css via sprout-blog-body__content) */

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) {
  --hsElevate--link--primary__fontColor: var(--hsElevate--color-role--accent_1, #4B48B7);
  --hsElevate--link--primary__textDecoration: underline;
  --hsElevate--link--primary__textDecorationColor: var(--hsElevate--color-role--accent_1, #4B48B7);
  --hsElevate--link--primary__hover--fontColor: var(--hsElevate--color-role--primary, #342775);
  --hsElevate--link--primary__hover--textDecoration: underline;
  --hsElevate--link--primary__hover--textDecorationColor: var(--hsElevate--color-role--primary, #342775);
}

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: 0;
}

/* Sprout heading spacing — scoped to blog body + RichText */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h1, .hs-elevate-h1) {
  margin-block-start: var(--sprout-typo-mt--h1);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h2, .hs-elevate-h2) {
  margin-block-start: var(--sprout-typo-mt--h2);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h3, .hs-elevate-h3) {
  margin-block-start: var(--sprout-typo-mt--h3);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h4, .hs-elevate-h4) {
  margin-block-start: var(--sprout-typo-mt--h4);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h5, .hs-elevate-h5) {
  margin-block-start: var(--sprout-typo-mt--h5);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(h6, .hs-elevate-h6) {
  margin-block-start: var(--sprout-typo-mt--h6);
}

.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 — scoped to blog body + RichText module output only.
   Uses :is() to avoid repeating rules for each parent context. */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(ul, ol) {
  margin-block-start: var(--sprout-typo-mt--list);
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) li {
  display: flex;
  gap: 12px;
  align-items: baseline;
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) li + li {
  margin-block-start: var(--sprout-typo-mt--li);
}

/* Unordered list bullet — disc marker via ::before */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) ul > li::before {
  content: "\2022";
  color: var(--sprout-typo--marker-color, #4B48B7);
  flex-shrink: 0;
  font-size: 1.2em;
  line-height: 1;
}

/* Ordered list number — CSS counter via ::before */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) ol {
  counter-reset: sprout-ol;
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) ol > li {
  counter-increment: sprout-ol;
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) ol > li::before {
  content: counter(sprout-ol) ".";
  color: var(--sprout-typo--marker-color, #4B48B7);
  flex-shrink: 0;
}

/* Blockquotes — scoped to blog body + RichText */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote {
  padding-block: var(--sprout-typo--blockquote-pb, 12px);
  padding-inline: var(--sprout-typo--blockquote-pi, 48px);
  margin-inline: 0;
  border-radius: 0;
  border-left: 4px solid var(--sprout-typo--marker-color, #4B48B7);
  background-color: var(--hsElevate--blockquote__backgroundColor, #F1F1F8);
  color: var(--hsElevate--blockquote__fontColor, #10001F);
  font-family: var(--hsElevate--quotes__font);
  font-size: var(--hsElevate--body--large__fontSize, 20px);
  font-style: italic;
  font-weight: 400;
  line-height: var(--hsElevate--body--large__lineHeight, 30px);
  margin-block-start: var(--sprout-typo-mt--blockquote);
  margin-block-end: 0;
}

/* Blockquote — strip inner paragraph margins (blockquote handles its own padding) */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote p {
  margin-block: 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 first child margin-top */

.hs-elevate-rich-text--no-last-margin > *:first-child {
  margin-block-start: 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-start: var(--sprout-typo-mt--img);
  margin-block-end: 0;
}

/* HR in rich text */

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) hr {
  margin-block-start: var(--sprout-typo-mt--hr);
  margin-block-end: 0;
}

/* Tables — scoped to blog body + RichText */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) table {
  width: 100%;
  border-spacing: 0;
  border-collapse: separate;
  border: 1px solid var(--sprout-typo--marker-color, #4B48B7);
  border-radius: var(--hsElevate-rounded--extra-small, 4px);
  overflow: hidden;
  margin-block-start: var(--sprout-typo-mt--table);
  margin-block-end: 0;
  font-size: var(--hsElevate--body--small__fontSize, 16px);
  line-height: var(--hsElevate--body--small__lineHeight, 24px);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) th {
  background-color: #18003A;
  color: #ffffff;
  font-weight: 500;
  text-align: left;
  padding: 16px;
  border-right: 1px solid var(--sprout-typo--marker-color, #4B48B7);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) th:last-child {
  border-right: none;
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) td {
  background-color: #ffffff;
  color: #10001F;
  font-weight: 400;
  padding: 12px 16px;
  border-right: 1px solid var(--sprout-typo--marker-color, #4B48B7);
  border-top: 1px solid var(--sprout-typo--marker-color, #4B48B7);
}

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) td:last-child {
  border-right: none;
}

/* Strip inner paragraph margins inside table cells */

:is(.sprout-blog-body__content, .hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) :is(th, td) p {
  margin-block: 0;
}

/* ── First-child strip ──
   Remove margin-top from the first visible element in rich-text contexts
   so content sits flush against the top of its container. */

.sprout-blog-body__content > :first-child,
.hs-elevate-rich-text > :first-child,
:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) > :first-child {
  margin-block-start: 0;
}

.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, .hs-elevate-card--variant-1 ul, .hs-elevate-card--variant-1 ol, .hs-elevate-card--variant-1 li, .hs-elevate-card--variant-1 blockquote, .hs-elevate-card--variant-1 pre, .hs-elevate-card--variant-1 code, .hs-elevate-card--variant-1 table, .hs-elevate-card--variant-1 th, .hs-elevate-card--variant-1 td, .hs-elevate-card--variant-1 dl, .hs-elevate-card--variant-1 dt, .hs-elevate-card--variant-1 dd {
    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, .hs-elevate-card--variant-2 ul, .hs-elevate-card--variant-2 ol, .hs-elevate-card--variant-2 li, .hs-elevate-card--variant-2 blockquote, .hs-elevate-card--variant-2 pre, .hs-elevate-card--variant-2 code, .hs-elevate-card--variant-2 table, .hs-elevate-card--variant-2 th, .hs-elevate-card--variant-2 td, .hs-elevate-card--variant-2 dl, .hs-elevate-card--variant-2 dt, .hs-elevate-card--variant-2 dd {
    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, .hs-elevate-accordion--variant-1 ul, .hs-elevate-accordion--variant-1 ol, .hs-elevate-accordion--variant-1 li, .hs-elevate-accordion--variant-1 blockquote, .hs-elevate-accordion--variant-1 pre, .hs-elevate-accordion--variant-1 code, .hs-elevate-accordion--variant-1 table, .hs-elevate-accordion--variant-1 th, .hs-elevate-accordion--variant-1 td, .hs-elevate-accordion--variant-1 dl, .hs-elevate-accordion--variant-1 dt, .hs-elevate-accordion--variant-1 dd {
    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, .hs-elevate-accordion--variant-2 ul, .hs-elevate-accordion--variant-2 ol, .hs-elevate-accordion--variant-2 li, .hs-elevate-accordion--variant-2 blockquote, .hs-elevate-accordion--variant-2 pre, .hs-elevate-accordion--variant-2 code, .hs-elevate-accordion--variant-2 table, .hs-elevate-accordion--variant-2 th, .hs-elevate-accordion--variant-2 td, .hs-elevate-accordion--variant-2 dl, .hs-elevate-accordion--variant-2 dt, .hs-elevate-accordion--variant-2 dd {
    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 {
  display: none;
}

/*
  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);
}

/* Disable backdrop blur for mobile menu — not needed per design */

.hs-elevate-menu__backdrop--mobile.hs-elevate-menu__backdrop--visible {
  background-color: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: none;
}

/* 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;
}

/* ==========================================================================
   4. Full-Height Column Classes

   Force height:100% down through the HubSpot wrapper chain inside the
   first or last column. This allows a module inside the column to use
   a full-height sticky wrapper (position:sticky is handled by the module).

   Wrapper chain (4 levels inside the column):
     .dnd-row  >  .row-fluid  >  .dnd-module  >  .hs_cos_wrapper

   Desktop only — no effect when columns stack on mobile/tablet.
   ========================================================================== */

@media (min-width: 48rem) {
  /* First column */
  .dnd-section.col-1-full-height > .row-fluid > [class*="span"]:first-child .dnd-row,
  .dnd-section.col-1-full-height > .row-fluid > [class*="span"]:first-child .dnd-row > .row-fluid,
  .dnd-section.col-1-full-height > .row-fluid > [class*="span"]:first-child .dnd-row > .row-fluid > .dnd-module,
  .dnd-section.col-1-full-height > .row-fluid > [class*="span"]:first-child .dnd-row > .row-fluid > .dnd-module > .hs_cos_wrapper {
    height: 100%;
  }

  /* Last column */
  .dnd-section.col-last-full-height > .row-fluid > [class*="span"]:last-child .dnd-row,
  .dnd-section.col-last-full-height > .row-fluid > [class*="span"]:last-child .dnd-row > .row-fluid,
  .dnd-section.col-last-full-height > .row-fluid > [class*="span"]:last-child .dnd-row > .row-fluid > .dnd-module,
  .dnd-section.col-last-full-height > .row-fluid > [class*="span"]:last-child .dnd-row > .row-fluid > .dnd-module > .hs_cos_wrapper {
    height: 100%;
  }
}

/* ==========================================================================
   Nested Row Layout Utilities

   Composable utility classes for controlling gaps, ratios, and stacking
   on NESTED dnd_row elements (rows inside a dnd_column).

   Problem: The existing content-gap-*, content-ratio-*, and stack-* classes
   target .dnd-section > .row-fluid (the top-level row). When a section uses
   a single dnd_column containing a nested dnd_row with sub-columns, those
   selectors do not reach the inner row.

   Critical constraint: dnd_row does NOT support a class= parameter.
   Classes must be applied on dnd_section and use descendant selectors
   to reach the nested row via the CMS DOM hierarchy.

   DOM structure:
     .dnd-section.[utility-class]        <-- classes land here
       > .row-fluid
         > .span12.dnd-column
           > .row-fluid-wrapper.dnd-row  <-- targeted via descendant
             > .row-fluid                <-- gap applied here
               > .span4.dnd-column       <-- flex ratio here
               > .span8.dnd-column       <-- flex ratio here

   Three composable class families:
     1. nested-content-gap-{N}  -- horizontal gap (desktop), row-gap (mobile)
     2. nested-ratio-{N}-{N}    -- flex ratios for asymmetric column splits
     3. nested-stack-mobile      -- stack nested columns at <768px

   Usage example:
     dnd_section class="section-padding-xl nested-content-gap-48 nested-ratio-1-2 nested-stack-mobile"

   See docs/theme-systems/dnd-spacing-strategy.md for full documentation.
   ========================================================================== */

/* Shared nested row selector shorthand (used throughout):
   .dnd-section.[class] .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid */

/* ==========================================================================
   1. Nested Content Gap

   Switches the nested row from HubSpot's default percentage-based column
   margins to CSS gap. Desktop sets horizontal gap; mobile sets row-gap
   (when combined with nested-stack-mobile).

   Desktop -> mobile scale: 24->16 | 32->24 | 48->32 | 72->48 | 80->48
   ========================================================================== */

/* Desktop (>=768px) — shared reset for all nested gap classes */

@media (min-width: 48rem) {
  .dnd-section.nested-content-gap-24 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid,
  .dnd-section.nested-content-gap-32 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid,
  .dnd-section.nested-content-gap-48 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid,
  .dnd-section.nested-content-gap-72 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid,
  .dnd-section.nested-content-gap-80 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid {
    justify-content: initial;
  }

  /* Clear HubSpot calc() span widths so flex controls sizing */
  .dnd-section[class*="nested-content-gap"] .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"] {
    width: auto;
  }

  /* Individual gap values */
  .dnd-section.nested-content-gap-24 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { gap: 24px; }
  .dnd-section.nested-content-gap-32 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { gap: 32px; }
  .dnd-section.nested-content-gap-48 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { gap: 48px; }
  .dnd-section.nested-content-gap-72 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { gap: 72px; }
  .dnd-section.nested-content-gap-80 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { gap: 80px; }
}

/* ==========================================================================
   2. Nested Ratio

   Flex ratios for asymmetric column splits inside nested rows.
   Overrides HubSpot's grid width/offset values.
   Uses :first-child / :last-child on span children.
   ========================================================================== */

/* Clear HubSpot calc() widths for all nested-ratio classes */

.dnd-section[class*="nested-ratio"] .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"] {
  width: auto;
}

/* 1:1 — equal split */

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

/* 1:2 — ~33/67 */

.dnd-section.nested-ratio-1-2 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"]:first-child { flex: 1; }

.dnd-section.nested-ratio-1-2 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"]:last-child  { flex: 2; }

/* 2:1 — ~67/33 */

.dnd-section.nested-ratio-2-1 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"]:first-child { flex: 2; }

.dnd-section.nested-ratio-2-1 .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"]:last-child  { flex: 1; }

/* ==========================================================================
   3. Nested Stack Mobile

   At <768px, forces nested columns to full-width and stacks vertically.
   Row-gap uses a CSS variable set by the nested-content-gap class,
   with a sensible 24px fallback.
   ========================================================================== */

@media (max-width: 47.999rem) {
  .dnd-section.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid {
    flex-wrap: wrap;
    row-gap: var(--nested-row-gap, 24px);
  }

  .dnd-section.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid > [class*="span"] {
    flex: none !important;
    width: 100% !important;
  }

  /* Mobile row-gap values — scale down from desktop gap */
  .dnd-section.nested-content-gap-24.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { --nested-row-gap: 16px; }
  .dnd-section.nested-content-gap-32.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { --nested-row-gap: 24px; }
  .dnd-section.nested-content-gap-48.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { --nested-row-gap: 32px; }
  .dnd-section.nested-content-gap-72.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { --nested-row-gap: 48px; }
  .dnd-section.nested-content-gap-80.nested-stack-mobile .dnd-column > .row-fluid-wrapper.dnd-row > .row-fluid { --nested-row-gap: 48px; }
}

/* 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;
}