/*
1. Libraries
2. Base

Note: HubSpot does not always rebuild this bundle when an included partial
changes. Touch this file to force a recompile after editing a partial.
(touched: 2026-10-21 cloud card band height fill)
*/
/* Enable CSS debug mode */
/* * {border: 1px solid red;} */
/* Libraries */
*,
*:before,
*:after {
  box-sizing: border-box;
} /* 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;
}

/**
 * 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 */
  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 {
  /* 1 */
  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;
} /* https://github.com/necolas/normalize.css */

/* CSS variables */
:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}
/* Mobile layout */
.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%;
}
/* Desktop layout */
@media (min-width: 768px) {
  .row-fluid {
flex-wrap: nowrap;
justify-content: space-between;
  }
  
.row-fluid .span1 {
  width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span2 {
  width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span3 {
  width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span4 {
  width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span5 {
  width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span6 {
  width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span7 {
  width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span8 {
  width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span9 {
  width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span10 {
  width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
}
  
.row-fluid .span11 {
  width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
}
  
} /* layout classes https://github.com/HubSpot/cms-theme-boilerplate */
.content-wrapper {
  margin: 0 auto;
  padding: 0;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section>.row-fluid {
  margin: 0 auto;
}

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

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
} /* dnd classes https://github.com/HubSpot/cms-theme-boilerplate */
[data-sal] {
    transition-delay: 0s;
    transition-delay: var(--sal-delay, 0s);
    transition-duration: .2s;
    transition-duration: var(--sal-duration, .2s);
    transition-timing-function: ease;
    transition-timing-function: var(--sal-easing, ease)
}

[data-sal][data-sal-duration="200"] {
    transition-duration: .2s
}

[data-sal][data-sal-duration="250"] {
    transition-duration: .25s
}

[data-sal][data-sal-duration="300"] {
    transition-duration: .3s
}

[data-sal][data-sal-duration="350"] {
    transition-duration: .35s
}

[data-sal][data-sal-duration="400"] {
    transition-duration: .4s
}

[data-sal][data-sal-duration="450"] {
    transition-duration: .45s
}

[data-sal][data-sal-duration="500"] {
    transition-duration: .5s
}

[data-sal][data-sal-duration="550"] {
    transition-duration: .55s
}

[data-sal][data-sal-duration="600"] {
    transition-duration: .6s
}

[data-sal][data-sal-duration="650"] {
    transition-duration: .65s
}

[data-sal][data-sal-duration="700"] {
    transition-duration: .7s
}

[data-sal][data-sal-duration="750"] {
    transition-duration: .75s
}

[data-sal][data-sal-duration="800"] {
    transition-duration: .8s
}

[data-sal][data-sal-duration="850"] {
    transition-duration: .85s
}

[data-sal][data-sal-duration="900"] {
    transition-duration: .9s
}

[data-sal][data-sal-duration="950"] {
    transition-duration: .95s
}

[data-sal][data-sal-duration="1000"] {
    transition-duration: 1s
}

[data-sal][data-sal-duration="1050"] {
    transition-duration: 1.05s
}

[data-sal][data-sal-duration="1100"] {
    transition-duration: 1.1s
}

[data-sal][data-sal-duration="1150"] {
    transition-duration: 1.15s
}

[data-sal][data-sal-duration="1200"] {
    transition-duration: 1.2s
}

[data-sal][data-sal-duration="1250"] {
    transition-duration: 1.25s
}

[data-sal][data-sal-duration="1300"] {
    transition-duration: 1.3s
}

[data-sal][data-sal-duration="1350"] {
    transition-duration: 1.35s
}

[data-sal][data-sal-duration="1400"] {
    transition-duration: 1.4s
}

[data-sal][data-sal-duration="1450"] {
    transition-duration: 1.45s
}

[data-sal][data-sal-duration="1500"] {
    transition-duration: 1.5s
}

[data-sal][data-sal-duration="1550"] {
    transition-duration: 1.55s
}

[data-sal][data-sal-duration="1600"] {
    transition-duration: 1.6s
}

[data-sal][data-sal-duration="1650"] {
    transition-duration: 1.65s
}

[data-sal][data-sal-duration="1700"] {
    transition-duration: 1.7s
}

[data-sal][data-sal-duration="1750"] {
    transition-duration: 1.75s
}

[data-sal][data-sal-duration="1800"] {
    transition-duration: 1.8s
}

[data-sal][data-sal-duration="1850"] {
    transition-duration: 1.85s
}

[data-sal][data-sal-duration="1900"] {
    transition-duration: 1.9s
}

[data-sal][data-sal-duration="1950"] {
    transition-duration: 1.95s
}

[data-sal][data-sal-duration="2000"] {
    transition-duration: 2s
}

[data-sal][data-sal-delay="50"] {
    transition-delay: .05s
}

[data-sal][data-sal-delay="100"] {
    transition-delay: .1s
}

[data-sal][data-sal-delay="150"] {
    transition-delay: .15s
}

[data-sal][data-sal-delay="200"] {
    transition-delay: .2s
}

[data-sal][data-sal-delay="250"] {
    transition-delay: .25s
}

[data-sal][data-sal-delay="300"] {
    transition-delay: .3s
}

[data-sal][data-sal-delay="350"] {
    transition-delay: .35s
}

[data-sal][data-sal-delay="400"] {
    transition-delay: .4s
}

[data-sal][data-sal-delay="450"] {
    transition-delay: .45s
}

[data-sal][data-sal-delay="500"] {
    transition-delay: .5s
}

[data-sal][data-sal-delay="550"] {
    transition-delay: .55s
}

[data-sal][data-sal-delay="600"] {
    transition-delay: .6s
}

[data-sal][data-sal-delay="650"] {
    transition-delay: .65s
}

[data-sal][data-sal-delay="700"] {
    transition-delay: .7s
}

[data-sal][data-sal-delay="750"] {
    transition-delay: .75s
}

[data-sal][data-sal-delay="800"] {
    transition-delay: .8s
}

[data-sal][data-sal-delay="850"] {
    transition-delay: .85s
}

[data-sal][data-sal-delay="900"] {
    transition-delay: .9s
}

[data-sal][data-sal-delay="950"] {
    transition-delay: .95s
}

[data-sal][data-sal-delay="1000"] {
    transition-delay: 1s
}

[data-sal][data-sal-easing=linear] {
    transition-timing-function: linear
}

[data-sal][data-sal-easing=ease] {
    transition-timing-function: ease
}

[data-sal][data-sal-easing=ease-in] {
    transition-timing-function: ease-in
}

[data-sal][data-sal-easing=ease-out] {
    transition-timing-function: ease-out
}

[data-sal][data-sal-easing=ease-in-out] {
    transition-timing-function: ease-in-out
}

[data-sal][data-sal-easing=ease-in-cubic] {
    transition-timing-function: cubic-bezier(.55, .055, .675, .19)
}

[data-sal][data-sal-easing=ease-out-cubic] {
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

[data-sal][data-sal-easing=ease-in-out-cubic] {
    transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

[data-sal][data-sal-easing=ease-in-circ] {
    transition-timing-function: cubic-bezier(.6, .04, .98, .335)
}

[data-sal][data-sal-easing=ease-out-circ] {
    transition-timing-function: cubic-bezier(.075, .82, .165, 1)
}

[data-sal][data-sal-easing=ease-in-out-circ] {
    transition-timing-function: cubic-bezier(.785, .135, .15, .86)
}

[data-sal][data-sal-easing=ease-in-expo] {
    transition-timing-function: cubic-bezier(.95, .05, .795, .035)
}

[data-sal][data-sal-easing=ease-out-expo] {
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

[data-sal][data-sal-easing=ease-in-out-expo] {
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

[data-sal][data-sal-easing=ease-in-quad] {
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

[data-sal][data-sal-easing=ease-out-quad] {
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

[data-sal][data-sal-easing=ease-in-out-quad] {
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

[data-sal][data-sal-easing=ease-in-quart] {
    transition-timing-function: cubic-bezier(.895, .03, .685, .22)
}

[data-sal][data-sal-easing=ease-out-quart] {
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

[data-sal][data-sal-easing=ease-in-out-quart] {
    transition-timing-function: cubic-bezier(.77, 0, .175, 1)
}

[data-sal][data-sal-easing=ease-in-quint] {
    transition-timing-function: cubic-bezier(.755, .05, .855, .06)
}

[data-sal][data-sal-easing=ease-out-quint] {
    transition-timing-function: cubic-bezier(.23, 1, .32, 1)
}

[data-sal][data-sal-easing=ease-in-out-quint] {
    transition-timing-function: cubic-bezier(.86, 0, .07, 1)
}

[data-sal][data-sal-easing=ease-in-sine] {
    transition-timing-function: cubic-bezier(.47, 0, .745, .715)
}

[data-sal][data-sal-easing=ease-out-sine] {
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

[data-sal][data-sal-easing=ease-in-out-sine] {
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

[data-sal][data-sal-easing=ease-in-back] {
    transition-timing-function: cubic-bezier(.6, -.28, .735, .045)
}

[data-sal][data-sal-easing=ease-out-back] {
    transition-timing-function: cubic-bezier(.175, .885, .32, 1.275)
}

[data-sal][data-sal-easing=ease-in-out-back] {
    transition-timing-function: cubic-bezier(.68, -.55, .265, 1.55)
}

[data-sal|=fade] {
    opacity: 0;
    transition-property: opacity
}

[data-sal|=fade].sal-animate,
body.sal-disabled [data-sal|=fade] {
    opacity: 1
}

[data-sal|=slide] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-sal=slide-up] {
    transform: translateY(20%)
}

[data-sal=slide-down] {
    transform: translateY(-20%)
}

[data-sal=slide-left] {
    transform: translateX(20%)
}

[data-sal=slide-right] {
    transform: translateX(-20%)
}

[data-sal|=slide].sal-animate,
body.sal-disabled [data-sal|=slide] {
    opacity: 1;
    transform: none
}

[data-sal|=zoom] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-sal=zoom-in] {
    transform: scale(.5)
}

[data-sal=zoom-out] {
    transform: scale(1.1)
}

[data-sal|=zoom].sal-animate,
body.sal-disabled [data-sal|=zoom] {
    opacity: 1;
    transform: none
}

[data-sal|=flip] {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-property: transform
}

[data-sal=flip-left] {
    transform: perspective(2000px) rotateY(-91deg)
}

[data-sal=flip-right] {
    transform: perspective(2000px) rotateY(91deg)
}

[data-sal=flip-up] {
    transform: perspective(2000px) rotateX(-91deg)
}

[data-sal=flip-down] {
    transform: perspective(2000px) rotateX(91deg)
}

[data-sal|=flip].sal-animate,
body.sal-disabled [data-sal|=flip] {
    transform: none
}

/*# sourceMappingURL=sal.css.map*/ /* https://github.com/mciastek/sal */

/* Base */
:root {

    /* Colors */
    --action1: #3F43CA;
    --action2: #272A68;
    --action3: #191B43;
    --action4: #91CA64;
    --black: #0B0D1D;
    --white: #FFFFFF;
    --gray1: #DADBF1;
    --gray2: #A5A5A5;
    --gray3: #424583;
    --light-gray: #F8F8FC;
    --dark-gray: #121430;
    /* CSS-only brand extras */
    --accent-light: #A7A9FE;
    --card-fill: #FBFCff;
    --logo-purple-gray: #DADBF1;
    --logo-purple-turned-gray: #F8F8FC;
    --blue: #60A5FA;
    --green: #166746;
    --green-2: #4D9B7B;
    --teal: #375F78;
    --teal-2: #5C7F95;
    --yellow: #F4BC01;
    --orange: #F44301;
    --purple: #583D80;
    
    --purple-2: #7C649E;
    
    --pc-primary-dark-purple: #191B43;
    --cf-logo-purple: #272A68;
    --pc-primary-purple: #3D2266;
    --cf-primary-black-1: #0B0D1D;
    --pc-primary-yellow: var(--yellow);
    --cf-secondary-indigo: #424583;
     /*black */
    --black-80: rgba(0, 0, 0, .8);
    --black-50: rgba(0, 0, 0, .5);
    --black-30: rgba(0, 0, 0, .3);
    --black-20: rgba(0, 0, 0, .2);
    --black-10: rgba(0, 0, 0, .1);
    /* white */
    --white-80: rgba(255, 255, 255, .8);
    --white-50: rgba(255, 255, 255, .5);
    --white-30: rgba(255, 255, 255, .3);
    --white-20: rgba(255, 255, 255, .2);
    --white-10: rgba(255, 255, 255, .1);
    /* Gradients (Figma section backgrounds) */
    --gradient1: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 0%, var(--pc-primary-dark-purple, #191B43) 100%);
    --gradient2: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 0%, var(--pc-primary-purple, #3D2266) 100%);
    --gradient3: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 18.86%, var(--pc-primary-purple, #3D2266) 100%);

    /* Font */
    --font1: 'Inter', sans-serif;
    --font2: 'Source Serif 4', serif;


    /* Border Radius */
    --border1: 5px;
    --border2: 10px;
    --border3: 15px;

    /*  Shadow */
    --shadow-btn: 0 4px 10px 0 rgba(0, 0, 0, .15);
    --btn-rounded-radius: 50px;
    --shadow-card: 0 12px 24px -12px rgba(0, 0, 0, .12);
    --shadow-card-hover: 0 15px 15px 0 rgba(0, 0, 0, .15);
    --shadow1: rgba(0, 0, 0, 0.1) 0px 2px 12px 0px;
    --shadow2: var(--shadow-card);
    --shadow3: rgba(0, 0, 0, 0.1) 0px 16px 32px 0px;
    --textShadow1: 0px 0px 2px rgba(0,0,0,0.5);

    /*  Animation */
    --animation1: .1s ease-in;
    --animation2: .25s ease-in;
    --animation3: 1s ease-in;

    /*  Widths */
    --center: 1320px;
    --center-small: calc(var(--center) - 300px);
    --inset-gutter: 40px;
    --inset-container: 1920px;

    /* Spacing */
    --section-padding-none:0;    
    --section-padding-small:50px 0;
    --section-padding-y: 80px;
    --section-padding-medium: var(--section-padding-y) 0;    
    --section-padding-large:100px 0;

    --section-margin-none:0 auto;
    --section-margin-small:0 auto 50px auto;    
    --section-margin-medium:0 auto 80px auto;    
    --section-margin-large:0 auto 100px auto;    
}
/* Centering */
.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--center);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

.center-small {
  float: none;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--center-small);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

/* Theme accent colors — resolves --accent for borders, rules and bars */
[data-accent="primary"] { --accent: var(--action1); }
[data-accent="secondary"] { --accent: var(--action2); }
[data-accent="tertiary"] { --accent: var(--action3); }
[data-accent="quaternary"] { --accent: var(--action4); }
[data-accent="green"] { --accent: var(--green); }
[data-accent="green-2"] { --accent: var(--green-2); }
[data-accent="teal"] { --accent: var(--teal); }
[data-accent="teal-2"] { --accent: var(--teal-2); }
[data-accent="yellow"] { --accent: var(--yellow); }
[data-accent="orange"] { --accent: var(--orange); }
[data-accent="purple"] { --accent: var(--purple); }
[data-accent="accent-light"] { --accent: var(--accent-light); }

/* Dark mode panel: wider than the content area, short of the viewport edges */
.u5-inset-panel {
  width: calc(100% - 2 * var(--inset-gutter));
  max-width: var(--inset-container);
  margin-inline: auto;
  border-radius: 20px;
  background: var(--pc-primary-dark-purple, #191B43);

  @media (max-width: 767px) {
    width: calc(100% - 40px);
    border-radius: var(--border3);
  }
}

/* Default anchor link offset */
.anchor {
  display: block;
  position: relative;
  top: -160px;
  visibility: hidden;
}

/* Dark mode inset panel (matches accordion / Figma) */
section.dark-mode {
  width: calc(100% - 2 * var(--inset-gutter));
  max-width: var(--inset-container);
  margin-inline: auto;
  border-radius: 20px;

  @media (max-width: 767px) {
    width: calc(100% - 40px); /* 20px L/R — matches .center padding */
    border-radius: var(--border3);
  }
  &.full-width {
    border-radius: 0;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
}


.shadow-boxes {
  background-color: var(--black-10);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  padding: 50px;

  .box {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--white);
    padding: 16px;
    aspect-ratio: 1/1;
    max-width: 250px;
    width: 100%;

    &.shadow1 {
      box-shadow: var(--shadow1);
    }

    &.shadow2 {
      box-shadow: var(--shadow2);
    }

    &.shadow3 {
      box-shadow: var(--shadow3);
    }
  }

}

/* Popover styling */

/* When any card popover is open, lock body scroll. Using class so it works with top-layer. */
body:has(.popover-container:popover-open) {
  overflow: hidden;
}
.popover-container {
  border:none;
  background: transparent;
  &:has(form) {
    .popover-inner-container {
      background: transparent;
      padding:0;
    }
  }

  /* Keep dialog within the viewport when short (Popover UA centers tall boxes → top/bottom clip). */
  &:popover-open {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 0;
    overflow: hidden;
    max-height: calc(
      100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 32px
    );
    max-height: calc(
      100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 32px
    );
  }

  /* Scroll the white panel when the stack exceeds the viewport; avoid nested flex on content (collapses height when popover is intrinsic-sized). */
  &:popover-open .popover-inner-container {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }

  &::backdrop {
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: none;
    transition: background-color 0.3s;
    transition-behavior: allow-discrete;
    position: fixed;
    pointer-events: auto;
    inset: 0px;
  }

  .popover-inner-container {
    padding: 30px;
    overflow: visible;
    border-radius: var(--border3);
    box-shadow: var(--shadow3);
    background-color: var(--white);
    @media (max-width: 580px) {
      padding: 20px;
    }
  }


  /**/
  button.close-btn {
    display: block;
    margin:0 0 20px auto;
    border:none;
    background:rgba(255,255,255,.25);
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    border: 2px solid var(--white);
    transition: var(--animation1);
    span {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
    }
    svg {
      width: 16px;
      height: 16px;
      path {
        fill: var(--white);
        transition: var(--animation1);
      }
    }
    &:hover,&:focus {
      background: rgba(255,255,255,.9);
      svg {
        path {
          fill: var(--black);
        }
      }
    }
  }
  .popover-content-container {
    &:has(form) {
      max-width: 860px;
      width: 100%;
    }
    max-height: 650px;
    overflow-y:scroll;
    text-align:initial;
    h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
      color: var(--action2);
    }
  }
}
/* Team Member Popover CSS — always light-mode colors, even inside section.dark-mode */
.popover-container.team-member {
  .popover-content-upper {
    display:block;
    margin-bottom: 30px;
    .popover-member-name {
      margin-bottom:0;
      font-weight: bold;
      color: var(--action2);
     }
     .popover-member-position {
      margin: 10px 0 0;
      color: var(--black);
     }
     .social-links {
       display:flex;
       margin-top: 20px;
       gap: 5px;
       a {
         margin:0;
         display:flex;

         svg path {
           fill: var(--black);
         }

         &:after {
           display: none;
         }

         &:hover,
         &:focus {
           svg path {
             fill: var(--action1);
           }
         }
       }
     }
  }

  .popover-member-bio {
    display: block;
    color: var(--black);
  }
  
}


/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/

/* splide pagination and arrows */
ul.splide__pagination {
  position: relative;
  margin-top: 30px;
  bottom: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  padding:0;
  li {
    margin:0;
    padding:0;

    button.splide__pagination__page {
      width: 24px;
      height: 24px;
      margin:0;
      opacity:1;
      border: 2px solid var(--black);
      border-radius: 50%;
      background: transparent;
      transform: none;
      transition: var(--animation1);
      &:not(.is-active) {
        &:hover,&:focus {
          background: rgb(from var(--black) r g b / 0.1);
        }
      }
      &.is-active {
        background: var(--black);
        transform: none;
      }
    }
  }
  .dark-mode & {
    li {
      button.splide__pagination__page {
        border: 2px solid var(--white);
        &.is-active {
          background: var(--white);
          transform: none;
        }
        &:not(.is-active) {
          &:hover,&:focus {
            background: var(--white-20);
          }
        }
      }
     
    }
  }
}

.splide__arrows {
  .splide__arrow {
    background:var(--white);
    border: 1px solid var(--gray1);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--animation1);
    box-shadow: var(--shadow1);
    opacity:1!important;
      svg {
        transition: var(--animation1);
        path {
          fill: var(--black);
          transition: var(--animation1);
        }
      }    
    &.splide__arrow--prev {
      left: -18px;
      transform:scale(0.8);
    }
    &.splide__arrow--next {
      right: -18px;
      transform:scale(0.8);
    }

    &:hover:not(:disabled) {
      border: 1px solid var(--black);
      background-color: var(--black);
      opacity:1!important;
      svg {
        path {
          fill: var(--white);
        }
      }
    }
  }
  .dark-mode & {
    .splide__arrow {
      background:var(--white);
      border: 1px solid var(--gray1);
      svg path {
        fill: var(--black);
      }
      &:hover:not(:disabled) {
        border: 1px solid var(--gray2);
        background-color: var(--light-gray);
        svg path {
          fill: var(--black);
        }
      }
    }
  }
}
/* body */
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font1);
  color: var(--black);
  background-color: var(--white);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* Set default text size */

section:not(.dark-mode) {
  h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
    color: var(--action2);
    span {
      color: var(--action1);
    }
  }

  .eyebrow {
    color: var(--action1);
    span {
      color: var(--black);
    }
  }
}

section.dark-mode {
  h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
    color: var(--white);
    span {
      color: var(--accent-light);
    }
  }

  .eyebrow {
    color: var(--accent-light);
    span {
      color: var(--white);
    }
  }

  /* Popovers always use light-mode type colors */
  .popover-container {
    h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {
      color: var(--action2);
      span {
        color: var(--action1);
      }
    }

    .eyebrow {
      color: var(--action1);
      span {
        color: var(--black);
      }
    }
  }
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font2);
  color: var(--action2);
}


p:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}




/* heading styles */
h1,
.h1 {
  font-size: 85px;
  font-weight: 600;
  letter-spacing: -1.7px;
  margin-bottom: 20px;
  line-height: 1;
  margin-top: 0;

  @media (max-width: 1024px) {
    font-size: 56px;
  }

  @media (max-width: 580px) {
    font-size: 40px;
    margin-bottom: 20px;
  }

}

h2,
.h2 {
  font-size: 55px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 20px;
  margin-top: 0;
  line-height: 1.1;

  @media (max-width: 1024px) {
    font-size: 40px;
  }

  @media (max-width: 580px) {
    font-size: 32px;
    margin-bottom: 20px;
  }
}

h3,
.h3 {
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 15px;
  line-height: 1.1;
  margin-top: 0;
  @media (max-width: 1024px) {
    font-size: 32px;
  }

  @media (max-width: 580px) {
    font-size: 28px;
    margin-bottom: 20px;
  }
}

h4,
.h4 {
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 15px;
  line-height: 1.1;
  margin-top: 0;
  @media (max-width: 1024px) {
    font-size: 26px;
  }

  @media (max-width: 580px) {
    font-size: 24px;
    margin-bottom: 20px;
  }
}

h5,
.h5 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 15px;
  line-height: 1.1;
  margin-top: 0;
  @media (max-width: 1024px) {
    font-size: 22px;
  }

  @media (max-width: 580px) {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

h6,
.h6 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .54px;
  margin-bottom: 15px;
  line-height: 1.6;
  margin-top: 0;
  @media (max-width: 1024px) {
    font-size: 18px;
  }

  @media (max-width: 580px) {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

/* Card / display titles (scoped — .title alone is also used for Inter UI) */
.card .title,
.card .content .title,
.card .content-upper .title {
  font-family: var(--font2);
}

/* Display stats / large figures */
.display-stat {
  font-family: var(--font2);
  font-size: 50px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

/* body styles */
.b1 {
  font-family: var(--font1);
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 0;
  margin-bottom: 20px;

  @media (max-width: 580px) {
    font-size: 18px;
  }
}

.b2 {
  font-family: var(--font1);
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 20px;

  @media (max-width: 580px) {
    font-size: 16px;
  }
}

.b3 {
  font-family: var(--font1);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 20px;

  @media (max-width: 580px) {
    font-size: 16px;
  }
}

.b4 {
  font-family: var(--font1);
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 20px;

  @media (max-width: 580px) {
    font-size: 14px;
  }
}

.b5 {
  font-family: var(--font1);
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 20px;

  @media (max-width: 580px) {
    font-size: 13px;
  }
}

.b6 {
  font-family: var(--font1);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 10px;

  @media (max-width: 580px) {
    font-size: 12px;
  }
}

.blockquote,blockquote {
  font-size: 16px;font-weight: 400; font-family: Inter, sans-serif;
  font-family: var(--font1);
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  margin: 50px auto;
  display: block;
  padding: 0;
  max-width: 100%;
  border: 0;
  background: transparent;
  @media (max-width: 580px) {
    font-size: 18px;
  }
  p:last-of-type {
    margin-bottom: 0;
  }
  p:first-of-type {
    margin-top: 0;
  }


}

.eyebrow {
  font-family: var(--font1);
  font-size: 16px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: .32px;
  text-transform: none;
  color: var(--action1);
  display: block;
  margin-bottom: 12px;
  @media (max-width: 580px) {
    font-size: 14px;
  }
}
/****************/
/* BUTTON .btn */
/**************/






















































/***** NORMALIZATION *****/
.button-span {
  display: inline-flex;
  align-items: center;

  .hs-cta-wrapper,
  .hs-cta-node,
  a.cta_button {
    display: inline-flex;
    align-items: center;
    margin: 0;
    box-sizing: border-box;
  }
}

a.btn,
span.btn a,
input.hs-button,
span.btn button:not(.close-btn),
button.btn,
.systems-page form button,
a.btn-white,
span.btn-white a,
span.btn-white button:not(.close-btn),
button.btn-white,
a.btn-stroked,
span.btn-stroked a,
span.btn-stroked button:not(.close-btn),
button.btn-stroked,
a.btn-stroked-white,
span.btn-stroked-white a,
span.btn-stroked-white button:not(.close-btn),
button.btn-stroked-white,
a.btn-rounded,
span.btn-rounded a,
span.btn-rounded button:not(.close-btn),
button.btn-rounded,
a.btn-rounded-white,
span.btn-rounded-white a,
span.btn-rounded-white button:not(.close-btn),
button.btn-rounded-white,
a.btn-text,
span.btn-text a,
.read-more,
span.btn-text button:not(.close-btn),
button.btn-text,
a.btn-text-white,
span.btn-text-white a,
span.btn-text-white button:not(.close-btn),
button.btn-text-white {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1.2;
  cursor: pointer;
}
/******/



a.btn,
span.btn a,
input.hs-button,span.btn button:not(.close-btn),button.btn,.systems-page form button {
border: 1px solid #3F43CA;

padding-top: 20px;
padding-right: 35px;
padding-bottom: 20px;
padding-left: 35px;

font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
background-color: 
  
  
    
  
  rgba(63, 67, 202, 1.0)
;
border-radius: 5px;
color: #ffffff;
font-size: 18px;
font-weight: 600;
text-transform: none;
box-shadow: var(--shadow-btn);
transition: var(--animation1) all;
}

a.btn:hover,
a.btn:focus,
span.btn a:hover,
span.btn a:focus,
input.hs-button:hover,
input.hs-button:focus,
span.btn button:not(.close-btn):hover,
span.btn button:not(.close-btn):focus,
button.btn:hover,
button.btn:focus,.systems-page form button:hover,.systems-page form button:focus {
border: 1px solid #272A68;
;
color: 
  
  
    
  
  rgba(255, 255, 255, 1.0)
;
background-color: 
  
  
    
  
  rgba(39, 42, 104, 1.0)
;
border-radius: 5px;
}

/* Image CTAs: let the PNG be the button; don't double-style the wrapper */
span.btn:has(.hs-cta-img),
span.btn-white:has(.hs-cta-img) {
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;

  a,
  a.cta_button {
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
  }

  .hs-cta-img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
  }
}

/* Dark surfaces: hover #272A68 matches nav/section bg — use accent-light instead */
body.page-scrolled:not(.light-mode-navigation) header,
section.dark-mode {
  a.btn:hover,
  a.btn:focus,
  span.btn a:hover,
  span.btn a:focus,
  input.hs-button:hover,
  input.hs-button:focus,
  span.btn button:not(.close-btn):hover,
  span.btn button:not(.close-btn):focus,
  button.btn:hover,
  button.btn:focus {
    color: var(--action2);
    background-color: var(--accent-light);
    border-color: var(--accent-light);
  }
}

/***************************/
/* BUTTON WHITE .btn-white */
/***************************/
/* Color variant only — match .btn size (Figma Button Primary: 15px 25px / 16px) */
span.btn-white a,
a.btn-white,
span.btn-white button:not(.close-btn),
button.btn-white,
.form input.hs-button,
.form button[type="submit"],
.popover-content-container:has(form) input.hs-button,
.popover-content-container:has(form) button[type="submit"] {
border: 1px solid #3F43CA;

padding-top: 20px;
padding-right: 35px;
padding-bottom: 20px;
padding-left: 35px;

font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
background-color: 
  
  
    
  
  rgba(63, 67, 202, 1.0)
;
border-radius: 5px;
color: #FFFFFF;
font-size: 18px;
font-weight: 600;
text-transform: none;
box-shadow: var(--shadow-btn);
transition: var(--animation1) all;
}

a.btn-white:hover,
a.btn-white:focus,
span.btn-white a:hover,
span.btn-white a:focus,
span.btn-white button:not(.close-btn):hover,
span.btn-white button:not(.close-btn):focus,
button.btn-white:hover,
button.btn-white:focus,
.form input.hs-button:hover,
.form input.hs-button:focus,
.form button[type="submit"]:hover,
.form button[type="submit"]:focus,
.popover-content-container:has(form) input.hs-button:hover,
.popover-content-container:has(form) input.hs-button:focus,
.popover-content-container:has(form) button[type="submit"]:hover,
.popover-content-container:has(form) button[type="submit"]:focus {
border: 1px solid #A7A9FE;
;
color: 
  
  
    
  
  rgba(39, 42, 104, 1.0)
;
background-color: 
  
  
    
  
  rgba(167, 169, 254, 1.0)
;
border-radius: 5px;
}

/**********************************/
/* BUTTON ROUNDED .btn-rounded */
/**********************************/
a.btn-rounded,
span.btn-rounded a,
span.btn-rounded:not(:has(a, button)),
span.btn-rounded button:not(.close-btn),
button.btn-rounded,
a.btn-rounded-white,
span.btn-rounded-white a,
span.btn-rounded-white:not(:has(a, button)),
span.btn-rounded-white button:not(.close-btn),
button.btn-rounded-white {
padding: 2px 12px;
font-family: 'Manrope', var(--font1);
font-size: 12px;
font-weight: 500;
line-height: 1.6;
background-color: 
  
  
    
  
  rgba(63, 67, 202, 1.0)
;
border: 1px solid #FFFFFF;
border-radius: var(--btn-rounded-radius);
color: #FFFFFF;
text-decoration: none;
text-transform: none;
transition: var(--animation1) all;
}

a.btn-rounded:hover,
a.btn-rounded:focus,
span.btn-rounded a:hover,
span.btn-rounded a:focus,
span.btn-rounded button:not(.close-btn):hover,
span.btn-rounded button:not(.close-btn):focus,
button.btn-rounded:hover,
button.btn-rounded:focus,
a.btn-rounded-white:hover,
a.btn-rounded-white:focus,
span.btn-rounded-white a:hover,
span.btn-rounded-white a:focus,
span.btn-rounded-white button:not(.close-btn):hover,
span.btn-rounded-white button:not(.close-btn):focus,
button.btn-rounded-white:hover,
button.btn-rounded-white:focus {
color: var(--white);
background-color: var(--action2);
border-color: var(--action2);
border-radius: var(--btn-rounded-radius);
text-decoration: none;
}

/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/

/********************************/
/* BUTTON STROKED .btn-stroked */
/******************************/
a.btn-stroked,
span.btn-stroked a,
span.btn-stroked button:not(.close-btn),
button.btn-stroked {
border: 1px solid #3F43CA;

padding-top: 20px;
padding-right: 35px;
padding-bottom: 20px;
padding-left: 35px;

font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
background-color: 
  
  
    
  
  rgba(63, 67, 202, 0.0)
;
border-radius: 5px;
color: #3F43CA;
font-size: 18px;
font-weight: 600;
text-transform: none;
transition: var(--animation1) all;
}

a.btn-stroked:hover,
a.btn-stroked:focus,
span.btn-stroked a:hover,
span.btn-stroked a:focus,
span.btn-stroked button:not(.close-btn):hover,
span.btn-stroked button:not(.close-btn):focus,
button.btn-stroked:hover,
button.btn-stroked:focus {
border: 1px solid #272A68;
;
color: 
  
  
    
  
  rgba(255, 255, 255, 1.0)
;
background-color: 
  
  
    
  
  rgba(39, 42, 104, 1.0)
;
border-radius: 5px;
}

/********************************************/
/* BUTTON STROKED WHITE .btn-stroked-white */
/******************************************/
/* Color variant only — match .btn-stroked size to primary button */
a.btn-stroked-white,
span.btn-stroked-white a,
span.btn-stroked-white button:not(.close-btn),
button.btn-stroked-white {
border: 1px solid #FFFFFF;

padding-top: 20px;
padding-right: 35px;
padding-bottom: 20px;
padding-left: 35px;

font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
background-color: 
  
  
    
  
  rgba(255, 255, 255, 0.0)
;
border-radius: 5px;
color: #FFFFFF;
font-size: 18px;
font-weight: 600;
text-transform: none;
transition: var(--animation1) all;
}

a.btn-stroked-white:hover,
a.btn-stroked-white:focus,
span.btn-stroked-white a:hover,
span.btn-stroked-white a:focus,
span.btn-stroked-white button:not(.close-btn):hover,
span.btn-stroked-white button:not(.close-btn):focus,
button.btn-stroked-white:hover,
button.btn-stroked-white:focus {
border: 1px solid #A7A9FE;
;
color: 
  
  
    
  
  rgba(39, 42, 104, 1.0)
;
background-color: 
  
  
    
  
  rgba(167, 169, 254, 1.0)
;
border-radius: 5px;
}


/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/


/**************************/
/* BUTTON TEXT .btn-text */
/*************************/
a.btn-text,
span.btn-text a,
span.btn-text:not(:has(a, button)),
.read-more,
span.btn-text button:not(.close-btn),
button.btn-text {
font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
margin:0;
cursor: pointer;
text-decoration: none;
color: #272A68;
border: none;
background-color: transparent;
padding:0;
font-size: 18px;
font-weight: 600;
text-transform: none;
transition: var(--animation1) all;
&:after {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  margin-left: 10px;
  position: relative;
  vertical-align: middle;
  border-radius: 50%;
  background: var(--action1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M7.47 2.47a.75.75 0 011.06 0l4 4a.75.75 0 010 1.06l-4 4a.75.75 0 11-1.06-1.06L10.19 7.75H2.75a.75.75 0 010-1.5h7.44L7.47 3.53a.75.75 0 010-1.06z'/%3E%3C/svg%3E") no-repeat center / 12px;
  transition: var(--animation1);
}
}

a.btn-text:hover,
a.btn-text:focus,
span.btn-text a:hover,
span.btn-text a:focus,
.read-more:hover,
.read-more:focus,
span.btn-text button:not(.close-btn):hover,
span.btn-text button:not(.close-btn):focus,
button.btn-text:hover,
button.btn-text:focus {
  color: 
  
  
    
  
  rgba(63, 67, 202, 1.0)
;
&:after {
  transform: translateX(2px);
  background: var(--action1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M7.47 2.47a.75.75 0 011.06 0l4 4a.75.75 0 010 1.06l-4 4a.75.75 0 11-1.06-1.06L10.19 7.75H2.75a.75.75 0 010-1.5h7.44L7.47 3.53a.75.75 0 010-1.06z'/%3E%3C/svg%3E") no-repeat center / 12px;
}
}

/**************************************/
/* BUTTON TEXT WHITE .btn-text-white */
/************************************/
a.btn-text-white,
span.btn-text-white a,
span.btn-text-white button:not(.close-btn),
button.btn-text-white {
font-family: Inter, sans-serif; font-style: normal; font-weight: 600; text-decoration: none;
margin:0;
cursor: pointer;
text-decoration: none;
color: #FFFFFF;
border: none;
background-color: transparent;
padding:0;
font-size: 18px;
font-weight: 600;
text-transform: none;

&:after {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  margin-left: 10px;
  position: relative;
  vertical-align: middle;
  border-radius: 50%;
  background: var(--action1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23fff' d='M7.47 2.47a.75.75 0 011.06 0l4 4a.75.75 0 010 1.06l-4 4a.75.75 0 11-1.06-1.06L10.19 7.75H2.75a.75.75 0 010-1.5h7.44L7.47 3.53a.75.75 0 010-1.06z'/%3E%3C/svg%3E") no-repeat center / 12px;
  transition: var(--animation1);
}
}

a.btn-text-white:hover,
a.btn-text-white:focus,
span.btn-text-white a:hover,
span.btn-text-white a:focus,
span.btn-text-white button:not(.close-btn):hover,
span.btn-text-white button:not(.close-btn):focus,
button.btn-text-white:hover,
button.btn-text-white:focus {
color: 
  
  
    
  
  rgba(255, 255, 255, 1.0)
;

&:after {
  transform: translateX(2px);
  background: #A7A9FE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='%23272a68' d='M7.47 2.47a.75.75 0 011.06 0l4 4a.75.75 0 010 1.06l-4 4a.75.75 0 11-1.06-1.06L10.19 7.75H2.75a.75.75 0 010-1.5h7.44L7.47 3.53a.75.75 0 010-1.06z'/%3E%3C/svg%3E") no-repeat center / 12px;
}
}


/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------*/


/* BUTTON SMALL .btn__sm */
a.btn.btn__sm,
.btn.btn__sm a,
span.btn-small button:not(.close-btn),
button.btn-small {
padding: 15px 25px;
font-size: 16px;
font-weight: 600;
line-height: 1.2;
box-shadow: var(--shadow-btn);
transition: var(--animation1) all;
}
/***************************************/
.card-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  --cols: 3;
  --gap: 30px;
  columns: var(--cols);
  gap: var(--gap);

  &.one {
    --cols: 1;
  }

  &.two {
    --cols: 2;

    @media (max-width: 580px) {
      --cols: 1;
    }
  }

  &.three {
    --cols: 3;

    @media (max-width: 768px) {
      --cols: 2;
    }

    @media (max-width: 580px) {
      --cols: 1;
    }
  }

  &.four {
    --cols: 4;

    @media (max-width: 1024px) {
      --cols: 3;
    }

    @media (max-width: 768px) {
      --cols: 2;
    }

    @media (max-width: 580px) {
      --cols: 1;
    }
  }
}

/***************************************/
a.card {
  text-decoration: none;
  color: inherit;
}

.card {
  --content-pad: 30px;
  --media-content-gap: 30px;
  border-radius: var(--border3);
  position: relative;
  display: flex;
  flex-direction: column;
  flex-basis: calc(100% / var(--cols, 3) - var(--gap, 30px) / var(--cols, 3) * (var(--cols, 3) - 1));
  max-width: 960px;
  border: 1px solid var(--gray1);
  background-color: var(--card-fill);
  box-shadow: var(--shadow-card);
  transition: background-color var(--animation2), border-color var(--animation2), transform var(--animation2), box-shadow var(--animation2);

  /* Preserve SAL stagger — .card transition shorthand otherwise resets delay to 0 */
  &[data-sal] {
    transition-property: opacity, transform, background-color, border-color, box-shadow;
    transition-delay: var(--sal-delay, 0s);
    transition-duration: var(--sal-duration, .2s);
    transition-timing-function: var(--sal-easing, ease);
  }

  &.sal-animate {
    transition: background-color var(--animation2), border-color var(--animation2), transform var(--animation2), box-shadow var(--animation2);
  }

  &:hover,
  &:focus-within {
    transform: translateY(-10px);
    box-shadow: var(--shadow-card-hover);
  }

  /* Shared clickable-card affordance (Card Link = .has-link, legacy stretched button = .full-click) */
  &.full-click,
  &.has-link {
    &:hover,
    &:focus-within {
      border: 1px solid var(--action1);
      background-color: var(--white);
    }
  }

  &.full-click {
    .button-group a, .button-group button {
      &:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
  }

  /* Accent bar — inside, square-ended; clipped by radius (not a curved border) */
  &[data-accent] {
    overflow: hidden;

    &::after {
      content: '';
      position: absolute;
      inset: auto 0 0;
      height: 4px;
      background-color: var(--accent);
    }

    &.horizontal::after {
      inset: 0 auto 0 0;
      width: 4px;
      height: auto;
    }
  }

  &.has-cloud {
    --media-content-gap: 20px;
    overflow: hidden;

    .cloud-band {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      min-height: 114px;
      overflow: hidden;
      flex: 0 0 auto;
    }

    .cloud-bg {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      width: 100%;
      line-height: 0;
      pointer-events: none;

      img {
        display: block;
        width: 100%;
        height: 114px;
        object-fit: fill;
      }
    }

    /* Title-only cloud cards: shorter band, full cloud, title sits closer */
    .cloud-band:not(:has(.media)) {
      min-height: 72px;

      .cloud-bg img {
        height: 72px;
        object-fit: fill;
      }

      + .content {
        padding-top: 8px;
      }
    }

    .media {
      position: relative;
      z-index: 1;

      &.icon,
      &.number {
        padding-top: 0;

        &.has-bg {
          margin-top: 0;
        }
      }
    }

    .content {
      position: relative;
      z-index: 1;
    }

    &:hover,
    &:focus-within {
      background-color: var(--white);
    }
  }

  /* Stacked icon/number sit closer to the title than images do */
  &:not(.horizontal):has(.media.icon),
  &:not(.horizontal):has(.media.number) {
    --media-content-gap: 20px;
  }

  &.horizontal {
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    min-height: 240px;

    @media (max-width: 580px) {
      flex-direction: column;
      min-height: 0;
    }

    .media {
      flex: 0 0 auto;

      &.image {
        width: 40%;
        min-width: 180px;
        /* Height follows copy; image covers the stretched media column */
        aspect-ratio: auto;
        align-self: stretch;
        border-radius: var(--border3) 0 0 var(--border3);

        @media (max-width: 580px) {
          width: 100%;
          aspect-ratio: 16/9;
          align-self: auto;
          border-radius: var(--border3) var(--border3) 0 0;
        }
      }

      &.icon,
      &.number {
        padding: 30px 0 30px 30px;

        @media (max-width: 580px) {
          padding: 30px 30px 0;
        }

        &.has-bg {
          margin: 30px 0 30px 30px;
          padding: 0;

          @media (max-width: 580px) {
            margin: 30px 30px 0;
          }
        }
      }
    }

    .content {
      flex: 1 1 auto;
      padding: var(--content-pad);
    }
  }

  &.has-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 0;
    color: var(--white);

    .content {
      .content-upper {
        span.eyebrow,
        span.title,
        span.description {
          color: var(--white);
        }
      }
    }

    .media.icon svg path {
      fill: var(--white);
    }
  }

  .media {
    &.image {
      position: relative;
      aspect-ratio: 16/9;
      border-top-right-radius: inherit;
      border-top-left-radius: inherit;
      overflow: hidden;
      /* min-height: 200px; */
      img {
        
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
      }
    }
    &.icon {
      padding: 30px 30px 0 30px;
      &>span {
        display: flex;
      }
      svg {
        height:  36px;
        path {
          fill: var(--action1);
        }
      }

      &.has-bg {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        margin: 30px 0 0 30px;
        padding: 0;
        border-radius: 10px;
        background: var(--accent, var(--action1));

        &>span {
          display: flex;
          align-items: center;
          justify-content: center;
        }

        svg {
          height: 32px;
          width: 32px;

          path {
            fill: var(--white);
          }
        }
      }
    }
    &.number {
      padding: 30px 30px 0 30px;

      .card-number {
        display: block;
        color: var(--action1);
        font-family: var(--font1);
        font-size: 48px;
        font-weight: 700;
        line-height: 1;
      }

      &.has-bg {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        margin: 30px 0 0 30px;
        padding: 0;
        border-radius: 10px;
        background: var(--accent, var(--action1));

        .card-number {
          display: flex;
          align-items: center;
          justify-content: center;
          width: auto;
          height: auto;
          border-radius: 0;
          background: transparent;
          color: var(--white);
          font-size: 28px;
          font-family: var(--font2);
          font-weight: 700;
          line-height: 1;
        }
      }
    }

  }


  .content {
    padding: var(--media-content-gap) var(--content-pad) var(--content-pad);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    flex-grow: 1;
    

   .content-upper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-grow: 1;

      span.eyebrow {
        display: block;
        color: var(--action1);
        line-height: 1.1;
        font-weight: 500;
        margin-bottom: 12px;
        font-size: 16px;
        letter-spacing: .32px;
        background: none;
        padding: 0;
        border-radius: 0;
        text-transform: none;
      }

      span.title {
        display: block;
        color: var(--action2);
        margin:0;
      }

      span.description {
        margin-top: 10px;
        color: var(--black);
        display: block;
        margin-bottom: 0;

        p {
          margin: 0 0 16px;

          &:last-child {
            margin-bottom: 0;
          }
        }

        /* Figma: card richtext lists use checkmarks, not disc bullets */
        ul {
          display: flex;
          flex-direction: column;
          gap: 8px;
          margin: 16px 0;
          padding: 0;
          list-style: none;

          &:first-child {
            margin-top: 0;
          }

          &:last-child {
            margin-bottom: 0;
          }

          li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin: 0;
            padding: 0;
            color: var(--black);
            font-size: 16px;
            line-height: 24px;

            &:before {
              content: '';
              flex: 0 0 18px;
              width: 18px;
              height: 18px;
              margin-top: 3px;
              background-color: var(--action1);
              mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E") center / contain no-repeat;
              -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E") center / contain no-repeat;
            }
          }
        }

        ol {
          margin: 16px 0;
          padding-left: 1.25em;

          &:first-child {
            margin-top: 0;
          }

          &:last-child {
            margin-bottom: 0;
          }
        }
      }
   }

    .button-group {
      margin-top: 30px;
      .btn-text,.btn-text-white {
        a,button {
          font-size: 16px;
        }
        
      }
    }

  }
  &:not(.title-compact) .content-upper span.title {
    /* design used a custom width that doesn't exist, adjust title for larger screens to emulate text wrapping */
    @media(min-width: 1024px) {
      letter-spacing: -1.38px;
    }
  }

  &.title-compact .content-upper span.title {
    font-family: var(--font1);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
  }
}

/***************************************/
.featured-card {
  /* featured cards use .card class */
  @media(min-width: 768px) {
    flex-direction:row;
    align-items: center;
    justify-content: space-between;
    padding: 30px;
    gap: 30px;

    .media {
      width: 40%;
      border-radius: var(--border3);
    }
    .content {
      width: 60%;
      padding:0;
      .content-upper {
        span.eyebrow {
          font-size: 16px;
          padding: 0;
        }

        .read-time {
          margin-top: 10px;
        }
      }
    }
  }

}

/*****Resource Card**********************************/
.resource-card {
 /* resource cards use .card class */

  .read-time {
    display: block;
    margin: 10px 0 0;
  }
}

/***************************************/
.blog-card {
  .read-time {
    margin-top: 10px;
  }
}
.form,.popover-content-container:has(form) {
  background-color: var(--cf-logo-purple, #272A68);
  background: var(--gradient1);
  color: var(--white);
  padding: 30px;
  max-width: 765px;
  margin: 0 auto;
  float: none;
  overflow: visible;
  width: 100%;
  border-radius: var(--border3);
  border: 1px solid var(--white-20);
  .submitted-message {
    display: block;
    width: 100%;
    text-align: center;
    color: var(--white);
    scroll-margin-top: 160px;

    p {
      margin: 0;
      color: var(--white);
    }
  }
  .form-title {
    color: var(--white);

    span {
      color: var(--accent-light);
    }

    &:empty {
      display: none;
    }
  }

  form {
    margin-bottom: 0;

    .hs-form-field {
      >label {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: .32px;
        color: var(--white);
        pointer-events: auto;
      }

      .hs-field-desc {
        color: var(--white-80);
      }
    }


    /* error messages */
    .hs_error_rollup {
      margin-top: 20px;

      .hs-error-msgs {
        margin-top: 0;
      }
    }

    ul.hs-error-msgs {
      margin: -10px 0 20px 0;
      padding: 0;
      list-style: none;

      li {
        display: block;
        text-align: center;
        margin: 0;
        width: 100%;
        font-size: 14px;
        line-height: 1.2;
        font-weight: bold;
        padding: 10px;
        border-radius: var(--border1);
        color: var(--white);
        background-color: red;
      }
    }


    /****** FORM INPUTS ******/
    .form-columns-1,
    .form-columns-2 {
      .input {
        margin-right: 0 !important;
      }
    }

    .form-columns-2 {
      display: flex;
      gap: 20px;
    }

    fieldset {
      max-width: unset;
    }


    input,
    select,
    textarea {

      &.error,
      &.invalid {
        border: 1px solid red;
      }
    }



    /* Text Based Inputs */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"] {
      border-radius: 8px;
      margin-top: 2px;
      margin-bottom: 20px;
      font-family: var(--font1);
      font-size: 16px;
      color: var(--black);
      background-color: var(--white);
      padding: 18px 16px;
      min-height: 62px;
      width: 100% !important;
      appearance: none;

      &:not(.error):not(.invalid) {
        border: 1px solid transparent;
      }
    }

    /* Select Inputs */


    select {
      position: relative;
      border: 0;
      border-radius: 8px;
      margin-top: 2px;
      margin-bottom: 20px;
      font-family: var(--font1);
      font-size: 16px;
      background-color: var(--white);
      padding: 18px 16px;
      min-height: 62px;
      cursor: pointer;
      width: 100% !important;
      appearance: none;
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%23000"><path d="M480-357.85 253.85-584 296-626.15l184 184 184-184L706.15-584 480-357.85Z"/></svg>');
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 24px;
      color: var(--black);
      &::placeholder {
        color: var(--black);
      }
    }

    /* Intl phone: country select + number on one row */
    .hs-fieldtype-intl-phone {
      display: flex;
      align-items: stretch;
      gap: 8px;
      width: 100%;

      select.hs-input {
        float: none;
        flex: 0 1 auto;
        field-sizing: content;
        width: auto !important;
        max-width: 60%;
        min-width: 0;
        padding: 18px 40px 18px 14px;
        margin: 2px 0 20px;
      }

      input[type="tel"] {
        float: none;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        margin: 2px 0 20px;
      }
    }

    /* Radios and Checkboxes */
    ul.inputs-list {
      &.multi-container {
        list-style: none;
        padding: 0;
        margin-top: 8px;
        margin-bottom: 20px;

        label {
          color: var(--white);

          >span {
            font-size: 14px;
            font-weight: normal;
            line-height: 1.2;
            color: var(--white);
            pointer-events: auto;
          }
        }

        /* Shared Input Styles */
        input {
          margin-right: 5px;
          cursor: pointer;
        }

        /* Radio Input */
        input[type="radio"] {}

        /* Checkbox Input */
        input[type="checkbox"] {}
      }
    }


    /* Textarea Input */
    textarea {
      border: 1px solid transparent;
      border-radius: 8px;
      margin-top: 2px;
      margin-bottom: 20px;
      font-family: var(--font1);
      font-size: 16px;
      color: var(--black);
      background-color: var(--white);
      padding: 18px 16px;
      width: 100% !important;
      min-height: 150px;
      resize: vertical;
    }

    .legal-consent-container {
      font-size: 13px;
      font-weight: normal;
      line-height: 1.6;
      color: var(--white-80);
      pointer-events: auto;
      display: flex;
      flex-direction: column;
      gap: 10px;

      p,
      span,
      li,
      label {
        color: var(--white-80);
      }

      a {
        color: var(--white);
        text-decoration: underline;

        &:hover,
        &:focus {
          opacity: .8;
        }
      }

      * {
        margin: 0 !important;
      }

      ul {
        list-style: none;
        padding: 0;
        margin: 0;

        li {
          label {
            display: flex;
            gap: 5px;
            cursor: pointer;

            span {
              margin: 0;
            }
          }
        }
      }
    }

    /* Button */
    .hs-button {
      margin-top: 30px;
      margin-bottom: 0;
      display: block;
      width: 100%;
      font-size: 18px;
      cursor: pointer;
    }
  }

}

/* for the "new" hubspot form tool */
.form,.popover-content-container:has(form) {
  .hsfc-Renderer {
    /* HubSpot new forms use these CSS vars — regular ::placeholder rules won't win */
    --hsf-field-input__placeholder-color: var(--dark-gray);
    --hsf-field-textarea__placeholder-color: var(--dark-gray);
    --hsf-field-input__color: var(--dark-gray);

    p {
      font-family: var(--font1)!important;
      color: var(--white)!important;
      margin: 0 0 10px 0;
    }
    .hsfc-FormWrapper {
      form {
       
        .hsfc-Step {
          .hsfc-Step__Content {
            padding:0!important;
            /*---- FORM ROWS ----*/
            .hsfc-Row {
              margin-bottom:20px;
              label {
                font-family: var(--font1);
                font-size: 14px;
                font-weight: 500;
                line-height: 1.2;
                letter-spacing: .32px;
                color: var(--white);
                pointer-events: auto;
              }
              input {
                margin-bottom:0;

                &::placeholder {
                  color: var(--black);
                  opacity: 1;
                }

                /* Date fields style placeholder via this class, not ::placeholder */
                &.hsfc-DateInput--placeholder {
                  color: var(--black);
                }
              }
              /* FIELD TYPE SPECIFIC STYLES */
              /* rich text */
              .hsfc-RichText {
                margin-bottom: 30px;
                p:last-of-type {
                  margin-bottom:0;
                }
              }
              /* text input */
              .hsfc-TextField {}
              /* phone input */
              .hsfc-PhoneField {
                .hsfc-PhoneInput {
                  margin-bottom: 20px;
                  .hsfc-PhoneInput__FlagAndCaret {
                    border-color: transparent!important;
                  }
                  input.hsfc-TextInput {
                    margin-bottom:0;
                    margin-top:0;
                  }

                }
              }
              /* textarea field */
              .hsfc-TextareaField {
                textarea {
                  background-color: var(--white);
                  border:none;

                  &::placeholder {
                    color: var(--black);
                    opacity: 1;
                  }
                }
              }
              /* date field */
              .hsfc-DateInput,
              .hsfc-DateInput--placeholder {
                color: var(--black);
              }
              /* single checkbox field */
              .hsfc-CheckboxField {
                margin-bottom: 10px;
                color: var(--white);
              }
              /* multiple checkbox field */
              .hsfc-CheckboxFieldGroup {
                margin-bottom:10px;
                color: var(--white);
              }
              /* radio button field */
              .hsfc-RadioFieldGroup {
                margin-bottom: 10px;
                color: var(--white);
              }
              /* file upload field */
              /* select/dropdown field */

            }
            /*---- SUBMIT BUTTON(S) ----*/
            .hsfc-NavigationRow {
              /*button style from buttons.css*/
              button[type="submit"] {
                display: block;
                width:100%;
                font-family: var(--font1);
                color: var(--white);
                background-color: var(--action1);
                border: 1px solid var(--action1);
                border-radius: var(--border1);
                padding: 20px 35px;
                margin:0;
                transition: var(--animation1);
                text-transform: none;
                text-decoration: none;
                font-weight: 600;
                font-size: 18px;
                line-height: 1.2;
                letter-spacing: 0;
                cursor: pointer;
                text-align: center;
                box-shadow: var(--shadow-btn);
              &:hover,&:focus {
                transform: none;
                background-color: var(--accent-light);
                color: var(--action2);
                border-color: var(--accent-light);
              }
              }
            }
          }
        }
      }
    }
  }
}

.hs-search-field {
  --search-button-bg: var(--action1);
  --search-button-color: var(--white);
  --search-border: var(--action1);
  --search-height: 48px;
  --search-radius: 5px;

  .hs-search-field__bar {
    form {
      display: flex;
      align-items: stretch;
      gap: 0;
      flex-wrap: nowrap;
      margin-bottom: 0;
    }

    .hs-search-field__input {
      height: var(--search-height);
      min-height: var(--search-height);
      padding: 0 1rem;
      border: 1px solid var(--search-border);
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-left-radius: var(--search-radius);
      border-bottom-left-radius: var(--search-radius);
      font-size: 16px;
      line-height: 1;
      box-sizing: border-box;
      flex: 0 0 180px;
      appearance: none;

      &:focus {
        outline: none;
        border-color: var(--search-button-bg);
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--search-button-bg) 20%, transparent);
      }
    }

    .search-button {
      height: var(--search-height);
      min-height: var(--search-height);
      padding: 0 1rem;
      border: none;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      border-top-right-radius: var(--search-radius);
      border-bottom-right-radius: var(--search-radius);
      background: var(--search-button-bg);
      color: var(--search-button-color);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-sizing: border-box;
      transition: background 0.2s ease, transform 0.2s ease;

      &:hover {
        filter: brightness(0.95);
      }

      &:focus {
        outline: none;
        box-shadow: 0 0 0 3px color-mix(in srgb, var(--search-button-bg) 20%, transparent);
      }

      svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
      }
    }
  }
  ul.hs-search-field__suggestions {
    margin-top: 0;
    margin-bottom: 0;
  }
}


.hs-form__virality-link {
  display: none !important;
}
/* Keep background from scrolling when menu is open */
html.menu-open {
  overflow-y: hidden;
}

body {
  margin-top: 0;
}

body.hide-header {
  margin-top: 0;
}

body.lp-sign-up {
  margin-top: 0;
}



/* HubSpot Cookie Notification */
div#hs-eu-cookie-confirmation.hs-cookie-notification-position-bottom.can-use-gradients {
  box-shadow: 2px -1px 5px 0px rgba(0, 0, 0, 0.05);
  border: 0;
  background-color: rgba(var(--white), .9);

  div#hs-eu-cookie-confirmation-inner {
    background-color: rgba(var(--white), 0);
    padding: 15px 20px 10px 20px;
    max-width: var(--center);

    p {
      margin-bottom: 0;
    }

    div#hs-en-cookie-confirmation-buttons-area {
      text-align: left;
      margin: 0;

      a#hs-eu-confirmation-button {
        font-weight: bold;
        margin: 10px 0;

        &:hover {
          background-color: var(--black);
        }
      }
    }
  }
}

/* default p size */
p {
  line-height: 1.6;
}

a {
  color: var(--action1);
}

blockquote,
blockquote p {}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

ul {
  list-style: disc;
  padding-left: 40px;
  margin-top: 0;
  margin-bottom: 30px;
  li {
    &::marker {
      color: var(--green-2);
    }
  }
}

ol {
  list-style: decimal;
  padding-left: 40px;
  margin-top: 0;
  margin-bottom: 30px;
}

li {
  margin-bottom: 5px;
  letter-spacing: .5px;
}

ul ul,
ul ol,
ol ol,
ol ul {
  margin: 20px 0 20px 20px;
}

input {
  font-family: var(--font1);
}

button {
  font-family: var(--font1);
  cursor: pointer;
}

/* Forms */
form {
  margin-bottom: 30px
}

::-webkit-input-placeholder {
  color: var(--gray3);
  opacity: 1;
  font-weight: normal;
}

/* Webkit input placeholders */
::-moz-placeholder {
  color: var(--gray3);
  opacity: 1;
  font-weight: normal;
}

/* Firefox input placeholders */
:-ms-input-placeholder {
  color: var(--gray3);
  opacity: 1;
  font-weight: normal;
}

/* IE  input placeholders */
/* Images */
img {
  max-width: 100%;
  height: auto;
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
}

/* Make responsive, clear border, fix IE scaling, suppress the space beneath the baseline, fix Webkit blurring on scaled down files */
svg {
  max-width: 100%;
  width: auto;
  height: auto;
}

/* Horizontal Rule */
hr {
  margin-top: 30px;
  margin-bottom: 35px;
  border-width: 0;
  border-top: 1px solid var(--gray1);
}

/* Abbreviations */
abbr[title] {
  border: 0;
}

/* Code */
code {
  padding: 1px;
  margin: 0 10px;
  white-space: nowrap;
  background: var(--gray1);
  border: 1px solid var(--gray1);
  border-radius: 0;
}

pre>code {
  display: block;
  padding: 1px 15px;
  white-space: pre;
  margin-bottom: 30px
}

pre {
  overflow-x: auto;
}

/* responsive pre elements */
table pre {
  white-space: pre-wrap;
}

/* responsive pre tables */
/* Tables */
th,
td {
  padding: 10px 20px;
  text-align: left;
  border-bottom: 1px solid var(--gray1);
}

th:first-child,
td:first-child {
  padding-left: 0;
}

th:last-child,
td:last-child {
  padding-right: 0;
}

table {
  margin-bottom: 30px
}

table th {
  text-transform: uppercase;
}

table td {
  border-bottom: 1px solid var(--gray2);
  font-size: 14px;
}

a[href='javascript:;'] {
  cursor: default;
}

section[class*='u5m-'] {
  scroll-margin-top: 145px;
}

.hs_cos_wrapper_type_form {
  h3 {
    text-align: center;
  }

  form {}
}

/*****************************************/
/* Pagination (blog + filtered content)  */
/*****************************************/
.pagination {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin: 40px 0 0;
  padding: 0;

  > a,
  > button:not(.btn-stroked) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 36px;
    padding: 0;
    border: 1px solid var(--black);
    border-radius: 50%;
    background: var(--white);
    color: var(--black);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: .1s ease-in;

    &:hover,
    &:focus-visible {
      background: var(--black);
      color: var(--white);
      border-color: var(--black);
    }

    &.active,
    &.mixitup-control-active {
      background: var(--black);
      color: var(--white);
      border-color: var(--black);
      pointer-events: none;
    }
  }

  > a.disabled,
  > button.mixitup-control-disabled,
  > button[disabled] {
    display: none;
  }
}
section.u5m-404-error,
section.u5m-500-error,section.u5m-backup-unsubscribe {
  margin: 0 auto;
  text-align: center;
  min-height: 60vh;
  display:flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  @media (max-width: 768px) {
    min-height: 35vh;
  }
  
}

section.u5m-backup-unsubscribe {
  
  text-align: center;
  #hs_cos_wrapper_backup_unsubscribe_email_simple_subscription {
    h3 {
      max-width: 900px;
      margin-left: auto;
      margin-right: auto;
      font-size: 20px;
      line-height: 1.4;
    }
  }


  form {
    h3 {
      font-size: 12px;
      font-weight: bold;
      text-align: left;
      margin-bottom: 4px;
    }

    input {
      border: 1px solid transparent;
      border-radius: 4px;
      margin-top: 2px;
      margin-bottom: 0;
      font-size: 16px;
      padding: 16px;
      width: 100%;
    }

    padding-bottom: 50px;
  }
}

section.u5m-membership-login,
section.u5m-membership-register,
section.u5m-membership-reset-password-request,
section.u5m-membership-reset-password,
section.u5m-password-prompt {

span.form-separator {
  display:block;
  margin-top: 20px;
}

  margin: 180px auto 80px;
  text-align: center;

  ul.hs-error-msgs {
    margin: 10px 0 20px 0;
  }
  .form {
    &.membership-reset-password-request {
      div.hs-form-field:has(ul.no-list) {
        display:none;
      }
      div.hs-form-field {
        input.hs-input {
          margin-bottom: 0;
        }
      }
    }
    &.membership-login, &.membership-register {
      div.hs-form-field:has(ul.no-list) {
        display:none;
      }
    }


    h1 {
      font-size: 40px;
      margin-bottom: 10px;
    }
    form {
      label:not(.hs-error-msg) {
        float:left;
        
      }
      .no-list li label, label#hs-register-widget-checkbox-consent {
        float:none;
      }
      label#hs-register-widget-checkbox-consent {
        position: relative;
        top: -2px;
      }
      label.hs-login-widget-email-label {
        margin-bottom: 10px;
      }
      a.hs-reset-widget-show-password, a.hs-register-widget-show-password, a.hs-login-widget-show-password {
        float:right;
        margin-left:10px;
        position: relative;
        font-size: 14px;
        top: -5px;
        &:hover,&:focus {
          color: var(--black);
        }
      }
      a#hs_login_reset {
        margin-top: 20px;
        display:block;
        &:hover,&:focus {
          color: var(--black);
        }
      }
      .hs-form-field:has(#hs-login-widget-remember),.hs-form-field:has(#hs-passwordless-auth-checkbox-consent){
        display: flex;
        gap: 10px;
        margin-top: 30px;
      }
   
    input[type="password"] {
      height:auto!important;
      margin-bottom: 0;
    }

  }
  }
  div>p {
    margin-top: 20px;
    a {
      &:hover,&:focus {
        color: var(--black);
      }
    }
  }

}

section.u5m-password-prompt {
  form {
    padding-top: 30px;
  }
}

section.u5m-search-results {
  margin: 180px auto 100px;
  .section-inner.center {
    .systems-page {
      h1 {}
      .filters-wrapper {
        margin-bottom: 80px;
        @media (max-width: 768px) {
          margin-bottom: 50px;
        }
        select {
          position: relative;
          border: 1px solid var(--gray1);
          border-radius: var(--border1);
          transition: border-color var(--animation2);
          margin-top: 0px;
          margin-bottom: 0px;
          font-size: 16px;
          background-color: var(--white);
          padding: 16px;
          cursor: pointer;
          width: 100% !important;
          appearance: none;
          background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="%23000"><path d="M480-357.85 253.85-584 296-626.15l184 184 184-184L706.15-584 480-357.85Z"/></svg>');
          background-repeat: no-repeat;
          background-position: right 16px center;
          background-size: 24px;
          color: var(--black);
          &::placeholder {
            color: var(--gray2);
          }
          &:hover,&:focus {
            border-color: var(--action1);
          }
        }
      }
      .hs-search-results {
        p.hs-search-results__message {}

      }
    }
  }

  /* search results 'card' style found in u5m-search-results.module.css */
  ul.hs-search-results__listing {
   
  }
  .hs-search__no-results {
    p {
      font-size: 18px;

    }
  }
}

section.u5m-subscription-preferences {
  margin: 180px auto 80px;
.page-header br {
  display: none;
}
  .systems-page {
    .form-group {
      .form {
        max-width: 1000px;
        form {
          h1 {
            font-size: 40px;
          }
          h2 {
            font-size: 24px;
          }
          .email-prefs {
            margin-top: 30px;
            div.item {
              border-bottom: 1px solid var(--gray1);
              margin-bottom: 25px;
              .item-inner {
                padding-bottom: 25px;
                  div.checkbox-row span span {
                    font-weight: bold;
                    padding-left: 5px;
                  }
               p {
                margin:0;
                padding-left: 22px;
               } 
              }


            }
          }
          

          div.subscribe-options p span {
            font-weight: bold;
            padding-left: 5px;
          }
        }
      }
    }
  }
}

section.u5m-subscriptions-confirmation {
  margin: 180px auto 80px;
  form {
    margin-top: 20px;
    fieldset {
      padding:0;
      &#hs-subscriptions-unsubscribe-survey-fieldset {
        legend {
          margin-bottom: 10px;
        }
        #hs-subscriptions-unsubscribe-survey-options {
          div {
            margin-bottom: 5px;
            label {
              input {margin-right: 5px;}
            }
          }
        }
      }
      textarea {
        margin: 20px 0 0 0;
      }
    }
    button {}
  }
  div.success {
    font-weight: bold;
  }
}
.visually-hidden,
.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001s;
    transition-duration: 0.001s;
    animation-iteration-count: 1;
  }
}

.skip-to-content-link {
  background: var(--action1);
  min-height: 40px;
  left: 50%;
  padding: 10px;
  position: absolute;
  transform: translate(-50%, -100%);
  transition: transform 0.3s;
  z-index: 20;
  display:flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--white);
  font-weight: bold;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: .25px;
  cursor: pointer;
}

.skip-to-content-link:focus {
  transform: translate(-50%, 0%);
}
section.u5m-blog-post {
  position: relative;
  &.has-sidebar {
    --content-width: var(--center);
    --body-max-width: 800px;
  }
  &:not(.has-sidebar) {
    --content-width: 920px;
    --body-max-width: 800px;
  }

  section.u5m-quote-cards {
    padding: 30px 0;
    .center {
      padding:0;
      .quote-card {
        flex-grow: 1;
        min-height: unset;
      }
    }
  }

  .hero {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    margin: 0;
    margin-inline: 0;
    border-radius: 0;
    padding: calc(var(--section-padding-y) + 100px) 0 var(--section-padding-y);
    color: var(--white);
    background: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 18.86%, var(--pc-primary-purple, #3D2266) 100%);

    h1,
    h1.title,
    .title,
    h1 span,
    h1.title span,
    .title span {
      color: var(--white, #fff);
    }

    @media (max-width: 580px) {
      padding: calc(var(--section-padding-y) + 72px) 0 var(--section-padding-y);
    }

    &.has-hero-gradient {
      background: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 18.86%, var(--pc-primary-purple, #3D2266) 100%);
    }

    .hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      isolation: isolate;
    }

    .hero-bg-gradient,
    .hero-bg-base,
    .hero-bg-mask {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      max-width: none;
      display: block;
    }

    .hero-bg-gradient {
      background: linear-gradient(180deg, var(--cf-logo-purple, #272A68) 18.86%, var(--pc-primary-purple, #3D2266) 100%);
    }

    .hero-bg-base {
      object-fit: cover;
      object-position: right center;
      mix-blend-mode: darken;
      opacity: .95;
    }

    .hero-bg-mask {
      object-fit: cover;
      object-position: right top;
      mix-blend-mode: soft-light;
      opacity: .85;
    }

    .section-inner.center {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: row;
      align-items: stretch;
      justify-content: space-between;
      gap: 50px;
      max-width: var(--center);

      @media (max-width: 991px) {
        flex-direction: column;
        align-items: flex-start;
      }

      .content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 20px;
        padding: 0;
        margin: 0;
        max-width: 560px;
        width: 100%;
        color: var(--white);

        .content-upper {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 20px;
        }

        .author-wrap {
          display: flex;
          align-items: center;
          justify-content: flex-start;
          gap: 10px;
          margin: 0;

          .avatar {
            overflow: hidden;
            height: 36px;
            width: 36px;
            border-radius: 50%;
            flex-shrink: 0;

            img {
              object-fit: cover;
              object-position: 50% 50%;
              width: 100%;
              height: 100%;
            }
          }

          .author-link {
            font-size: 14px;
            font-weight: 400;
            line-height: 1.2;
            color: var(--white);

            a {
              font-weight: 700;
              color: var(--white);
              text-decoration: underline;
              text-underline-position: from-font;
              transition: var(--animation1);

              &:hover,
              &:focus {
                color: var(--accent-light);
              }
            }
          }
        }

        h1.title {
          margin: 0;
          font-size: 55px;
          font-weight: 600;
          line-height: 1.1;
          letter-spacing: 0;
          color: var(--white, #fff);

          @media (max-width: 1024px) {
            font-size: 40px;
          }

          @media (max-width: 580px) {
            font-size: 32px;
          }
        }

        .meta-row {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          gap: 12px;
          margin-top: auto;
          flex-shrink: 0;

          @media (max-width: 991px) {
            margin-top: 0;
          }

          .tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;

            .tag {
              display: inline-flex;
              align-items: center;
              justify-content: center;
              padding: 2px 12px;
              border: 1px solid var(--white);
              border-radius: 999px;
              color: var(--white);
              font-size: 12px;
              font-weight: 500;
              line-height: 1.6;
              text-decoration: none;
              transition: var(--animation1);

              &:hover,
              &:focus {
                background: var(--white-10);
              }
            }
          }

          .read-time {
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .02em;
            line-height: 1.1;
            color: var(--white);
          }
        }
      }

      .media {
        max-width: 570px;
        width: 100%;
        box-shadow: var(--shadow1);

        img {
          display: block;
          width: 100%;
          height: auto;
          border-radius: var(--border3);
        }
      }
    }

    &:not(.has-media) {
      .section-inner.center .content {
        max-width: 720px;
      }
    }
  }

  .post-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    max-width: var(--center);
    margin: 0 auto;
    padding: 60px 20px 0;

    @media (max-width: 991px) {
      display: flex;
      flex-direction: column;
      gap: 24px;
      padding-top: 40px;
    }
  }

  .share {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: start;
    position: sticky;
    top: 120px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: auto;
    min-width: 40px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;

    @media (max-width: 991px) {
      position: relative;
      top: auto;
      grid-column: auto;
      grid-row: auto;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      width: 100%;
      gap: 16px;
    }

    span.label {
      font-weight: 700;
      font-size: 13px;
      letter-spacing: 1px;
      line-height: 13px;
      text-transform: uppercase;
      margin: 0;
      color: var(--action2);
      align-self: center;
    }

    .share-links {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;

      @media (max-width: 991px) {
        flex-direction: row;
      }

      a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 0;
        border-radius: 5px;
        background: var(--action2);
        color: var(--white);
        box-shadow: 0 15px 15px -10px rgba(0, 0, 0, .1);
        transition: var(--animation1);

        svg path {
          fill: currentColor;
          transition: var(--animation1);
        }

        &:hover,
        &:focus {
          background: var(--action1);
          color: var(--white);
        }
      }
    }
  }

  .post-main {
    grid-column: 1;
    grid-row: 1;
    max-width: var(--body-max-width);
    width: 100%;
    min-width: 0;
    margin: 0 auto;

    @media (max-width: 991px) {
      grid-column: auto;
      grid-row: auto;
    }
  }

  &.has-sidebar .post-main {
    max-width: min(100%, calc(var(--body-max-width) + 400px));
  }

  .body {
    max-width: none;
    margin: 0;
    padding: 0;

    .content {
      color: var(--black);
      font-family: var(--font1);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.6;

      img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: var(--border3);
      }

      p,
      ul,
      ol {
        font-size: 16px;
        line-height: 1.6;
        color: var(--black);
      }

      h2 {
        font-family: var(--font2);
        font-size: 40px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: 0;
        color: var(--action2);

        @media (max-width: 580px) {
          font-size: 28px;
        }
      }

      h3 {
        font-family: var(--font2);
        font-size: 30px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: 0;
        color: var(--action2);

        @media (max-width: 580px) {
          font-size: 24px;
        }
      }

      h1,h2,h3,h4,h5,h6 {
        margin-top: 30px;
      }

      a {
        color: var(--action1);
        font-weight: 400;
        text-decoration: underline;

        &:hover,
        &:focus {
          color: var(--action2);
        }
      }

      blockquote {
        position: relative;
        display: flex;
        flex-direction: column;
        margin: 50px 0;
        padding: 40px 50px;
        max-width: 100%;
        border: 1px solid var(--logo-purple-gray, #dadbf1);
        border-radius: 15px;
        background: var(--white);
        overflow: hidden;

        &::before {
          content: '';
          position: absolute;
          inset: 0 auto 0 0;
          width: 3px;
          background: var(--pc-primary-yellow, #f4bc01);
        }

        p {
          margin: 0 0 20px;
          font-size: 20px;
          font-style: italic;
          font-weight: 400;
          line-height: 1.7;
          color: var(--black);

          @media (max-width: 580px) {
            font-size: 18px;
          }

          &:last-child {
            margin-bottom: 0;
          }

          strong,
          b {
            font-weight: 700;
            font-style: italic;
          }
        }

        footer,
        cite {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 10px;
          margin: 20px -50px -40px;
          padding: 25px 50px;
          border-top: 1px solid var(--logo-purple-gray, #dadbf1);
          background: var(--card-fill, #fbfcff);
          font-style: normal;
          font-size: 14px;
          line-height: 1.6;
          color: var(--black);

          @media (max-width: 580px) {
            margin: 20px -20px -30px;
            padding: 20px;
          }
        }

        footer {
          font-family: var(--font2);
          font-size: 18px;
          color: var(--action2);

          .tag,
          a.tag {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 2px 12px;
            border: 1px solid var(--action1);
            border-radius: 999px;
            background: var(--white);
            color: var(--action1);
            font-family: var(--font1);
            font-size: 12px;
            font-weight: 500;
            line-height: 1.6;
            text-decoration: none;
          }
        }

        @media (max-width: 580px) {
          padding: 30px 20px;
        }
      }
    }

    &.has-sidebar {
      display: flex;
      flex-direction: row;
      gap: 80px;

      @media(max-width: 991px) {
        flex-direction: column;
      }

      .content {
          max-width: var(--body-max-width);
          width: 100%;
          @media(max-width: 991px) {
            order:2;
            max-width: 100%;
          }
          h2 {
            scroll-margin-top:160px;
          }
        }
      .blog-sidebar {
        max-width: 320px;
        width: 100%;
        position:relative;
        @media(max-width: 991px) {
          order:1;
          max-width: 100%;
        }
        .blog-sidebar-inner {
          position:sticky;
          top: 170px;
          padding: 20px;
          background-color: var(--white);
          border-radius: var(--border2);
          border: 1px solid var(--gray1);
          .title {
            font-weight: 600;
            margin-bottom:12px;
          }
          .toc-list {
            padding-left:20px;
            margin:0;
            li.toc-item {
              margin-bottom:12px;
              line-height:1.4;
              &::marker {
                color: var(--action1);
                font-weight: 600;
              }
              &:last-of-type {
                margin-bottom:0;
              }
              a.toc-link {
                color: var(--black);
                transition: var(--animation1);
                text-decoration: none;
                &.active {
                  color: var(--action1);
                }
                &:hover,&:focus {
                  color: var(--action1);
                  text-decoration:underline;
                }
              }
            }
          }
        }
      }
    }
  }

  .topics {
    max-width: none;
    margin: 50px 0 0;
    padding: 50px 0 0;
    border-top: 0;
    display:flex;
    flex-direction:row;
    align-items: center;
    gap: 12px;
    .label {
      font-size: 13px;
      font-weight: 500;
      display:inline-block;
    }
    .topics-list {
      display:flex;
      flex-direction:row;
      flex-wrap: wrap;
      column-gap: 8px;
      row-gap: 10px;
      .link {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: nowrap;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.6;
        text-decoration: none;
        color: var(--action1);
        padding: 2px 12px;
        border-radius: 999px;
        background-color: var(--white);
        transition: var(--animation1);
        border: 1px solid var(--action1);
        &:hover,
        &:focus {
          background-color: var(--action1);
          border-color: var(--action1);
          color: var(--white);
        }
      }
    }
  }

  .author,
  .comments {
    display: none;
  }
}
/* CSS Keyframes */
@keyframes fadeIn1 {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes fadeIn2 {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  50% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
/* default anchor link offset */
div.hs_cos_wrapper_widget section.top-margin-none {
  margin-top: 0;
}

/* module overrides */
div.hs_cos_wrapper_widget section.top-margin-small {
  margin-top: 50px;

  @media (max-width: 767px) {
    margin-top: 35px;
  }

  @media (max-width: 575.98px) {
    margin-top: 25px;
  }
}

div.hs_cos_wrapper_widget section.top-margin-medium {
  margin-top: 100px;

  @media (max-width: 767px) {
    margin-top: 75px;
  }

  @media (max-width: 575.98px) {
    margin-top: 50px;
  }
}

div.hs_cos_wrapper_widget section.top-margin-large {
  margin-top: 150px;

  @media (max-width: 767px) {
    margin-top: 115px;
  }

  @media (max-width: 575.98px) {
    margin-top: 75px;
  }
}

div.hs_cos_wrapper_widget section.bottom-margin-none {
  margin-bottom: 0;
}

div.hs_cos_wrapper_widget section.bottom-margin-small {
  margin-bottom: 50px;

  @media (max-width: 767px) {
    margin-bottom: 35px;
  }

  @media (max-width: 575.98px) {
    margin-bottom: 25px;
  }
}

div.hs_cos_wrapper_widget section.bottom-margin-medium {
  margin-bottom: 100px;

  @media (max-width: 767px) {
    margin-bottom: 75px
  }

  @media (max-width: 575.98px) {
    margin-bottom: 50px
  }
}

div.hs_cos_wrapper_widget section.bottom-margin-large {
  margin-bottom: 150px;

  @media (max-width: 767px) {
    margin-bottom: 115px;
  }

  @media (max-width: 575.98px) {
    margin-bottom: 75px;
  }
}

div.hs_cos_wrapper_widget section.top-padding-none {
  padding-top: 0;
}

div.hs_cos_wrapper_widget section.top-padding-small {
  padding-top: 50px;

  @media (max-width: 767px) {
    padding-top: 35px;
  }

  @media (max-width: 575.98px) {
    padding-top: 25px;
  }
}

div.hs_cos_wrapper_widget section.top-padding-medium {
  padding-top: 100px;

  @media (max-width: 767px) {
    padding-top: 75px;
  }

  @media (max-width: 575.98px) {
    padding-top: 50px;
  }
}

div.hs_cos_wrapper_widget section.top-padding-large {
  padding-top: 150px;

  @media (max-width: 767px) {
    padding-top: 115px;
  }

  @media (max-width: 575.98px) {
    padding-top: 75px;
  }
}

div.hs_cos_wrapper_widget section.bottom-padding-none {
  padding-bottom: 0;
}

div.hs_cos_wrapper_widget section.bottom-padding-small {
  padding-bottom: 50px;

  @media (max-width: 767px) {
    padding-bottom: 35px;
  }

  @media (max-width: 575.98px) {
    padding-bottom: 25px;
  }
}

div.hs_cos_wrapper_widget section.bottom-padding-medium {
  padding-bottom: 100px;

  @media (max-width: 767px) {
    padding-bottom: 75px;
  }

  @media (max-width: 575.98px) {
    padding-bottom: 50px;
  }
}

div.hs_cos_wrapper_widget section.bottom-padding-large {
  padding-bottom: 150px;

  @media (max-width: 767px) {
    padding-bottom: 115px;
  }

  @media (max-width: 575.98px) {
    padding-bottom: 75px;
  }
}
.intro-content {
    display: flex;
    flex-direction: column;

    &.left-aligned {
        align-items: flex-start;
        justify-content: flex-start;
        text-align: left;

        .heading,
        .description {
            margin-left: 0;
            margin-right: auto;
        }

        .button-group {
            justify-content: flex-start;
        }
    }
    &.left-aligned.two-column {
        @media (min-width: 992px) {
            flex-direction: row;
            gap: 50px;
            justify-content: space-between;
            /* align-items: flex-end; */
            align-items: flex-end;
            width: 100%;
            &:has(.intro-content-upper > :only-child) {
                align-items: center;
            }
            .intro-content-upper {
                flex: 0 1 60%;
             
            }
            .button-group {
                flex: 0 1 40%;
                margin:0;
                display: flex;
                justify-content: flex-end;
                align-items: center;
            }
        } 
    }

    &.center-aligned {
        align-items: center;
        justify-content: center;
        text-align: center;
        margin-left: auto;
        margin-right: auto;

        .heading,
        .description {
            margin-left: auto;
            margin-right: auto;
        }

        .button-group {
            justify-content: center;
        }
    }

    .eyebrow {}

    .heading {
        max-width: 900px;
        margin-top: 0;
        margin-bottom:0;
    }

    span.description {
        margin-top: 20px;
        margin-bottom: 0;
        max-width: 750px;
        display: block;
        font-size: 18px;
        line-height: 1.6;
        color: var(--black);

        * {
            font-size: inherit;
        }

        *:last-child {
            margin-bottom: 0;
        }

        a {
            text-decoration: underline;

            section:not(.dark-mode) & {
                &:hover,
                &:focus {
                    color: var(--black);
                }
            }
        }
    }


    .button-group {
        display: flex;
        gap: 20px;
        align-items: center;

        flex-wrap: wrap;
        margin-top: 40px;



        span.button-span {
            @media (max-width: 767px) {
                width: auto;
            }

            a {
                margin: 0;
            }
        }
    }

}







section.dark-mode {
    .intro-content {
        .intro-content-upper {
            h1,
            h2,
            h3 {
                color: var(--white);
            }
    
            span.description {
                color: var(--white);
                font-weight: 500;
    
                * {
                    color: var(--white);
    
                }
    
                a {
                    text-decoration: underline;
                    color: var(--white)!important;
    
                    &:hover,
                    &:focus {
                        color: var(--white);
                        opacity: .8;
                    }
                }
    
            }
        }

    }
}