@charset "UTF-8";
:root {
  --doublePanelMobileOverlap: 3.5rem; }

body {
  font-family: 'Montserrat', sans-serif; }

p:empty {
  display: none; }

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * 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
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, 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; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 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; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 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, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

.hdr {
  z-index: 10;
  display: flex;
  position: relative;
  box-sizing: border-box;
  max-width: 1600px;
  width: 100%;
  align-items: center;
  padding: 2rem 1rem;
  margin: 0; }
  .hdr > * {
    box-sizing: border-box; }
  @media (min-width: 576px) {
    .hdr {
      padding: 4rem 1rem; } }
  @media (min-width: 768px) {
    .hdr {
      margin: 0 auto; } }
  .hdr-Logo {
    max-height: 3rem;
    background: #fff;
    object-fit: cover; }
  .hdr-Navigation {
    display: flex;
    align-items: center; }
  .hdr-NavigationItem_Active {
    color: #18AEF0 !important; }

.hdr_Transparent {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 1.5rem clamp(1.5rem, 2vw, 2rem);
  transform: translateX(-50%);
  max-width: 1600px;
  z-index: 1; }
  @media (min-width: 768px) {
    .hdr_Transparent {
      position: relative;
      margin-inline: auto;
      left: initial;
      transform: initial;
      padding: 4rem 1rem; } }
  .hdr_Transparent .hdr-Logo_Transparent, .hdr_Transparent .hdr-Logo {
    max-height: 3rem;
    object-fit: cover; }
  @media (min-width: 768px) {
    .hdr_Transparent .hdr-Logo_Transparent {
      display: none; } }
  .hdr_Transparent .hdr-Logo {
    background: #fff;
    display: none; }
    @media (min-width: 768px) {
      .hdr_Transparent .hdr-Logo {
        display: block; } }
  .hdr_Transparent .hdr-NavigationTrigger {
    background: transparent;
    box-shadow: none; }

.hdr-NavigationTrigger {
  display: block;
  position: relative;
  padding: 0;
  max-height: 3rem;
  background: #18AEF0;
  box-shadow: 0 0.25em 0.25em rgba(0, 0, 0, 0.3);
  transition: box-shadow 0.667s ease-out, background-color 0.667s ease-out;
  color: white;
  border: none;
  margin-left: auto; }
  @media (min-width: 768px) {
    .hdr-NavigationTrigger {
      display: none;
      opacity: 0;
      visibility: hidden; } }
  .hdr-NavigationTrigger[aria-pressed="true"] .hdr-NavigationTrigger_Menu {
    transform: rotate(225deg); }
  .hdr-NavigationTrigger .hdr-NavigationTrigger_Menu path {
    backface-visibility: hidden;
    transition: opacity 0.367s ease-in-out, transform 0.367s ease-in-out; }
  .hdr-NavigationTrigger .hdr-NavigationTrigger_Menu .x, .hdr-NavigationTrigger[aria-pressed="true"] .h {
    opacity: 0; }
  .hdr-NavigationTrigger[aria-pressed="true"] .x {
    opacity: 1; }
  .hdr-NavigationTrigger[aria-pressed="true"] .t {
    transform: translate(0, 8px);
    transform: translateY(8px); }
  .hdr-NavigationTrigger[aria-pressed="true"] .b {
    transform: translate(0, -8px);
    transform: translateY(-8px); }
  .hdr-NavigationTrigger_Menu {
    display: block;
    width: 2.38em;
    height: 2.38em;
    margin: 0.25em;
    stroke-width: 5;
    stroke-linecap: square;
    stroke: white;
    transition: stroke 0.367s ease-out, transform 0.367s ease-in-out; }
  .hdr-NavigationTrigger span {
    position: absolute;
    text-indent: -200rem; }

.hdr-NavigationTrigger[aria-pressed="true"] + .hdr-Navigation {
  background: white;
  transform: translateX(calc(-1rem + -1px)); }

.hdr-Navigation {
  position: fixed;
  right: 0;
  top: 79px;
  transform: translateX(100vw);
  overflow-x: hidden;
  transition: all 0.367s ease-out;
  box-shadow: 0 0.25em 0.25em rgba(0, 0, 0, 0.2), 0 -0.05em 0.25em rgba(0, 0, 0, 0.1);
  border-radius: 0 0 8px 8px;
  width: calc(100vw - 2rem); }
  @media (min-width: 768px) {
    .hdr-Navigation {
      width: auto;
      box-shadow: unset;
      position: relative;
      margin-left: auto;
      transform: initial;
      top: unset;
      right: unset;
      overflow: visible; } }
.hdr-NavigationList {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%; }
  @media (min-width: 768px) {
    .hdr-NavigationList {
      display: flex;
      overflow: visible; } }
.hdr-NavigationItem a {
  font-weight: 700;
  font-size: 1.125rem;
  display: block;
  text-decoration: none;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  min-width: 10rem;
  text-align: center;
  line-height: 1.15; }
  @media (min-width: 768px) {
    .hdr-NavigationItem a {
      min-width: initial;
      padding: 0.4rem 1rem; } }
.hdr-NavigationItem a,
.hdr-NavigationItem a:visited,
.hdr-NavigationItem a:active {
  color: #111; }

.hdr-NavigationItem a.hdr-NavigationItem_Contact {
  color: white;
  background: #18AEF0; }
  @media (min-width: 768px) {
    .hdr-NavigationItem a.hdr-NavigationItem_Contact {
      margin-left: 1rem; } }
.hdr-NavigationItem_Dropdown {
  position: relative; }
  @media (min-width: 768px) {
    .hdr-NavigationItem_Dropdown {
      overflow: visible; } }
.hdr-NavigationDropdownToggle {
  font-weight: 700;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  min-width: 10rem;
  text-align: center;
  line-height: 1.15;
  background: none;
  border: none;
  color: #111;
  cursor: pointer;
  width: 100%;
  justify-content: center; }
  @media (min-width: 768px) {
    .hdr-NavigationDropdownToggle {
      min-width: initial;
      padding: 0.4rem 1rem;
      width: auto; } }
  .hdr-NavigationDropdownToggle:hover {
    color: #18AEF0; }

.hdr-NavigationDropdownIcon {
  transition: transform 0.3s ease; }
  .hdr-NavigationDropdownToggle[aria-expanded="true"] .hdr-NavigationDropdownIcon {
    transform: rotate(180deg); }

.hdr-NavigationDropdown {
  list-style: none;
  padding: 0;
  margin: 0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease-out, opacity 0.3s ease, visibility 0.3s ease;
  position: static;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 8px;
  margin: 0.5rem 0; }
  @media (min-width: 768px) {
    .hdr-NavigationDropdown {
      position: absolute;
      top: 100%;
      left: 0;
      background: white;
      box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
      border-radius: 8px;
      min-width: 20rem;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      max-height: none;
      padding: 0.5rem 0;
      margin-top: 0.5rem;
      z-index: 100; } }
.hdr-NavigationItem_Dropdown .hdr-NavigationDropdownToggle[aria-expanded="true"] + .hdr-NavigationDropdown {
  max-height: 500px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important; }

.hdr-NavigationDropdownItem a {
  display: block;
  padding: 0.6rem 1rem;
  text-decoration: none;
  color: #111;
  font-weight: 600;
  font-size: 1rem;
  text-align: left;
  border-radius: 0;
  min-width: initial; }
  @media (min-width: 768px) {
    .hdr-NavigationDropdownItem a {
      padding: 0.5rem 1rem; }
      .hdr-NavigationDropdownItem a:hover {
        background: rgba(24, 174, 240, 0.1);
        color: #18AEF0; } }
.email-sub {
  background: white;
  padding: 3rem 2rem; }
  .email-sub-Wrapper {
    margin-inline: auto;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    gap: 2rem; }
    @media (min-width: 968px) {
      .email-sub-Wrapper {
        flex-direction: row;
        align-items: flex-start;
        gap: 4rem; } }
  .email-sub-Left {
    flex: 1; }
  .email-sub-Right {
    flex: 1;
    display: flex;
    align-items: flex-start; }
    @media (min-width: 968px) {
      .email-sub-Right {
        max-width: 540px; } }
    .email-sub-Right iframe {
      width: 100%;
      max-width: 540px;
      height: 400px;
      border: none;
      box-shadow: none;
      display: block;
      margin: 0;
      padding: 0;
      overflow: hidden; }
      @media (min-width: 768px) {
        .email-sub-Right iframe {
          height: 340px;
          margin: -20px 0 0 0; } }
      @media (min-width: 968px) {
        .email-sub-Right iframe {
          height: 340px;
          margin: -40px 0 0 0; } }
  .email-sub-Heading {
    color: #111;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    margin-bottom: 1rem;
    text-align: left; }
    @media (min-width: 768px) {
      .email-sub-Heading {
        font-size: 28px; } }
  .email-sub-BulletList {
    color: #111;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 2rem;
    padding-left: 1.5rem; }
    .email-sub-BulletList li {
      margin-bottom: 0.5rem; }
      .email-sub-BulletList li:last-child {
        margin-bottom: 0; }
  .email-sub-Privacy {
    color: rgba(0, 0, 0, 0.5);
    font-size: 12px;
    line-height: 1.6;
    margin: 0;
    margin-top: 1rem;
    text-align: left; }
    .email-sub-Privacy a {
      color: rgba(0, 0, 0, 0.5);
      text-decoration: underline; }
      .email-sub-Privacy a:hover {
        color: rgba(0, 0, 0, 0.7); }
  .email-sub-HubSpotForm {
    margin: 0; }
    .email-sub-HubSpotForm .hs-form {
      font-family: 'Montserrat', sans-serif !important; }
    .email-sub-HubSpotForm .hs-form-field {
      margin-bottom: 1rem; }
      @media (min-width: 768px) {
        .email-sub-HubSpotForm .hs-form-field.hs-email, .email-sub-HubSpotForm .hs-form-field.hs_email {
          display: inline-block;
          width: calc(100% - 180px);
          margin-right: 0.5rem;
          vertical-align: top; } }
    @media (min-width: 768px) {
      .email-sub-HubSpotForm .hs_submit {
        display: inline-block;
        width: auto;
        vertical-align: top; } }
    .email-sub-HubSpotForm .hs-input {
      width: 100% !important;
      padding: 0.875rem 1rem !important;
      font-size: 16px !important;
      border: 1px solid rgba(0, 0, 0, 0.2) !important;
      border-radius: 4px !important;
      background: white !important;
      color: #111 !important;
      font-family: inherit !important;
      transition: all 0.2s ease !important; }
      .email-sub-HubSpotForm .hs-input::placeholder {
        color: rgba(0, 0, 0, 0.5) !important; }
      .email-sub-HubSpotForm .hs-input:focus {
        outline: none !important;
        border-color: #18AEF0 !important;
        background: white !important;
        box-shadow: 0 0 0 2px rgba(24, 174, 240, 0.1) !important; }
    .email-sub-HubSpotForm .hs-button {
      padding: 0.875rem 2rem !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      color: white !important;
      background: #18AEF0 !important;
      border: none !important;
      border-radius: 4px !important;
      cursor: pointer !important;
      transition: all 0.2s ease !important;
      font-family: inherit !important;
      width: 100% !important;
      min-width: 160px !important; }
      @media (min-width: 768px) {
        .email-sub-HubSpotForm .hs-button {
          width: auto !important; } }
      .email-sub-HubSpotForm .hs-button:hover {
        background: #0d8fc8 !important;
        transform: translateY(-1px); }
      .email-sub-HubSpotForm .hs-button:active {
        transform: translateY(0); }
    .email-sub-HubSpotForm .hs-form-booleancheckbox {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem; }
      .email-sub-HubSpotForm .hs-form-booleancheckbox input[type="checkbox"] {
        margin-top: 0.25rem;
        cursor: pointer;
        width: 18px;
        height: 18px; }
      .email-sub-HubSpotForm .hs-form-booleancheckbox label {
        color: #111 !important;
        font-size: 14px !important;
        line-height: 1.5 !important; }
    .email-sub-HubSpotForm .hs-error-msgs {
      list-style: none;
      padding: 0;
      margin: 0.5rem 0 0; }
      .email-sub-HubSpotForm .hs-error-msgs label {
        color: #ff6b6b !important;
        font-size: 13px !important; }
    .email-sub-HubSpotForm .hs_error_rollup {
      display: none; }
    .email-sub-HubSpotForm .submitted-message {
      color: #111;
      font-size: 16px;
      text-align: center;
      padding: 2rem; }

.ftr {
  background: #282524;
  padding: 3rem 2rem;
  position: relative; }
  .ftr-LogoSection {
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
  .ftr-Logo {
    width: 100%;
    height: auto;
    max-height: 4rem;
    object-fit: contain;
    object-position: left top;
    display: block;
    margin-bottom: 1rem; }
    @media (min-width: 768px) {
      .ftr-Logo {
        width: auto;
        max-width: 200px; } }
  @media (min-width: 768px) {
    .ftr {
      padding: 3rem 2rem; }
      .ftr-ContentWrapper {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-inline: auto;
        max-width: 1200px; } }
.ftr-NavMenu {
  margin-bottom: 2rem; }
  .ftr-NavMenu_List {
    padding-left: 0; }
    .ftr-NavMenu_List li {
      list-style: none;
      padding-left: 0; }
    .ftr-NavMenu_List a, .ftr-NavMenu_List a:visited, .ftr-NavMenu_List a:active {
      color: white;
      text-decoration: none;
      font-weight: 400;
      line-height: 1.5;
      font-size: 20px; }
  .ftr-NavMenu_ListHeading {
    font-weight: 700 !important;
    display: block;
    padding-bottom: 0.5rem !important; }

@media (min-width: 768px) {
  .ftr-ExternalLinks {
    display: flex;
    align-items: center;
    margin-top: 0.5rem; } }

.ftr-ExternalLinks_Heading {
  font-size: 20px;
  line-height: 1.15; }
  .ftr-ExternalLinks_Heading a, .ftr-ExternalLinks_Heading a:visited {
    color: white;
    text-decoration: none;
    font-weight: 700; }

.ftr-ExternalLinks ul {
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start; }
  @media (min-width: 768px) {
    .ftr-ExternalLinks ul {
      flex-direction: row;
      gap: 2rem;
      align-items: center; } }
.ftr-ExternalLinks li {
  list-style: none;
  padding-left: 0; }

.ftr-ExternalLinks_Link {
  display: flex;
  text-decoration: none;
  font-weight: 400;
  line-height: 1.5;
  font-size: 16px;
  align-items: center; }
  @media (min-width: 768px) {
    .ftr-ExternalLinks_Link {
      font-size: 18px; } }
.ftr-ExternalLinks_Link, .ftr-ExternalLinks_Link:visited, .ftr-ExternalLinks_Link:active {
  color: white; }

.ftr-ExternalLinks_Icon {
  margin-right: 0.5rem;
  display: flex;
  align-items: center; }
  .ftr-ExternalLinks_Icon svg {
    height: 32px;
    width: 32px;
    fill: white; }
    @media (min-width: 768px) {
      .ftr-ExternalLinks_Icon svg {
        height: 40px;
        width: 40px; } }
.ftr-Copyright {
  color: white;
  font-size: 13px;
  margin-top: 0.5rem; }
  .ftr-Copyright_Desktop {
    display: none !important; }
    @media (min-width: 768px) {
      .ftr-Copyright_Desktop {
        display: block !important; } }
  .ftr-Copyright_Mobile {
    display: block !important; }
    @media (min-width: 768px) {
      .ftr-Copyright_Mobile {
        display: none !important; } }
.dp {
  z-index: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr var(--doublePanelMobileOverlap) 60vw;
  overflow: hidden;
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .dp {
      grid-template-columns: 1fr 11vw 1fr;
      grid-template-rows: 3rem minmax(25rem, 45%) 3rem;
      overflow: initial;
      margin-bottom: 4rem;
      max-height: 31rem; } }
  @media (min-width: 2500px) {
    .dp {
      grid-template-rows: 3rem 25vw 3rem;
      max-height: initial; } }
  .dp-PanelContent_Right, .dp-PanelImage_Right {
    position: relative;
    z-index: 0;
    grid-area: 2/4;
    width: 100%;
    height: auto;
    margin: 0;
    grid-area: 2 / 1 / 4 / 2; }
    @media (min-width: 768px) {
      .dp-PanelContent_Right, .dp-PanelImage_Right {
        grid-area: 2 / 2 / 3 / 4; } }
    .dp-PanelContent_Right img, .dp-PanelImage_Right img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
      @media (min-width: 768px) {
        .dp-PanelContent_Right img, .dp-PanelImage_Right img {
          object-position: right 25%; } }
  .dp-PanelContent_Left, .dp-PanelImage_Left {
    display: flex;
    z-index: 1;
    position: relative;
    width: 100%;
    height: auto;
    margin: 0;
    grid-area: 1 / 1 / 3 / 2; }
    @media (min-width: 768px) {
      .dp-PanelContent_Left, .dp-PanelImage_Left {
        grid-area: 1 / 1 / 4 / 3; } }
  .dp-PanelContent_Left {
    --dpAngle: 0deg;
    display: grid;
    grid-template-columns: minmax(1rem, 1fr) minmax(auto, 733px) 9vw;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .dp-PanelContent_Left::before {
      content: "";
      width: 100%;
      height: 100%;
      z-index: -1;
      position: absolute;
      top: -3.5rem;
      left: 0;
      background: white;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.505882);
      transform: skew(0deg, var(--dpAngle));
      transform-origin: bottom right;
      transition: transform 0.26s ease-in; }
    @media (min-width: 768px) {
      .dp-PanelContent_Left {
        grid-template-columns: minmax(1rem, 1fr) minmax(auto, 733px) 9vw;
        padding-top: 2rem;
        padding-bottom: 2rem; }
        .dp-PanelContent_Left::before {
          top: initial;
          left: -11vw;
          height: 100%;
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.505882);
          transform: skew(var(--dpAngle));
          transform-origin: bottom right;
          transition: transform 0.39s ease-in; } }
  .dp-PanelContent_Wrapper {
    display: flex;
    grid-area: 1 / 2 / 2 / 3;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start; }
  .dp-PanelContent_SocialLink {
    color: #ffffff; }
  .dp-PanelContent_SocialBadge {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    background: #000;
    color: white; }
  .dp-PanelContent_Heading {
    font-weight: 700;
    font-size: 3rem;
    margin-bottom: 0.5rem;
    margin-top: 0;
    margin-left: 0; }
  .dp-PanelContent_SubHeading {
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    margin-top: 0;
    margin-left: 0; }
  .dp-PanelContent_Role {
    font-weight: 700;
    margin-bottom: 0.75rem;
    margin-top: 0;
    margin-left: 0; }
  .dp-PanelContent_CTA {
    display: block;
    background: #18AEF0;
    color: #ffffff;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    padding: 1rem 2rem;
    flex: 0 0 auto;
    margin-top: 0;
    margin-left: 0;
    margin: 1rem 9vw 1rem 0; }
    .dp-PanelContent_CTA:visited, .dp-PanelContent_CTA:active, .dp-PanelContent_CTA:focus {
      color: #ffffff; }
  .dp-PanelContent_Left p {
    font-size: 1.125rem;
    margin-top: 0;
    margin-left: 0; }

.cl {
  padding-top: 3rem;
  padding-bottom: 3rem;
  box-sizing: border-box; }
  .cl > * {
    margin-inline: 1rem; }

.cl-Heading {
  font-size: 2rem;
  padding-left: 1rem;
  padding-right: 1.25rem;
  margin-inline: auto;
  max-width: 1600px; }
  @media (min-width: 768px) {
    .cl-Heading {
      padding-right: 1rem; } }
.cl-TagsList {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  padding-right: 1.25rem;
  margin-inline: auto;
  max-width: 1600px; }
  @media (min-width: 768px) {
    .cl-TagsList {
      padding-right: 1rem; } }
  @media (min-width: 1024px) {
    .cl-TagsList {
      margin-bottom: 4rem; } }
.cl-Tag {
  display: block;
  padding: 0.75rem 1.5rem;
  border-radius: 2.5rem;
  border: 1px solid #707070;
  font-weight: 700;
  text-decoration: none;
  color: #000; }

.cl-ContentWrapper {
  display: grid;
  max-width: 1600px;
  gap: 2rem;
  padding-left: 1rem;
  padding-right: 1.25rem;
  margin-inline: auto;
  max-width: 1600px; }
  @media (min-width: 768px) {
    .cl-ContentWrapper {
      padding-right: 1rem; } }
  @media (min-width: 768px) {
    .cl-ContentWrapper {
      grid-template-columns: repeat(2, minmax(min-content, 730px));
      gap: 5vw; } }
.cl-ContentItem {
  padding-bottom: 3rem; }
  .cl-ContentItem_Image {
    width: 100%;
    height: clamp(25vh, 25vw, 380px);
    object-fit: cover;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    margin-bottom: 1.75rem; }
    @media (min-width: 768px) {
      .cl-ContentItem_Image {
        margin-bottom: 2.5rem; } }
  .cl-ContentItem_Date {
    font-size: 0.9rem;
    margin-bottom: 0.5rem; }
  .cl-ContentItem_Heading {
    color: #F13687; }
    .cl-ContentItem_Heading a {
      color: #F13687;
      text-decoration: none; }
  .cl-ContentItem_ReadMore {
    font-weight: 700;
    color: #111; }
  .cl-ContentItem_Date, .cl-ContentItem_Heading, .cl-ContentItem_Summary, .cl-ContentItem_ReadMore {
    display: block;
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    text-align: left; }

.cl-Pagination {
  margin-inline: auto;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center; }
  .cl-Pagination a {
    display: block;
    color: #333; }
  .cl-Pagination_Page, .cl-Pagination_Previous, .cl-Pagination_Next {
    padding: 1rem 0.75rem;
    background: #eee;
    font-weight: 700;
    min-width: 50px;
    text-align: center; }
  .cl-Pagination_Spacer {
    padding: 1rem 0;
    font-weight: 700;
    user-select: none;
    color: #484848; }
  .cl-Pagination_Current {
    background: #cbcbcb; }

.bls {
  max-width: 1600px;
  padding-bottom: 6rem; }
  .bls-Content {
    max-width: 1220px;
    padding-left: 1rem;
    padding-right: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
  @media (min-width: 768px) {
    .bls {
      display: grid;
      grid-template-columns: min(75vw, 1220px) 1fr;
      gap: clamp(5vw, 10vw, 6rem);
      margin-inline: auto; } }
.bls-Content h1 {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  font-size: 2.5rem;
  color: #F13687;
  margin-top: 3rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 768px) {
    .bls-Content h1 {
      margin-inline: auto; } }
.bls-Content h2 {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  font-size: 1.75rem;
  color: #18AEF0;
  margin-top: 3rem;
  margin-bottom: 0.25rem; }
  @media (min-width: 768px) {
    .bls-Content h2 {
      margin-inline: auto; } }
.bls-Content h3 {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  font-size: 1.5rem;
  color: #111;
  margin-top: 2.25rem;
  margin-bottom: 0.25rem; }
  @media (min-width: 768px) {
    .bls-Content h3 {
      margin-inline: auto; } }
.bls-Content h4, .bls-Content h5, .bls-Content h6 {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  font-size: 1.25rem;
  color: #111;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem; }
  @media (min-width: 768px) {
    .bls-Content h4, .bls-Content h5, .bls-Content h6 {
      margin-inline: auto; } }
.bls-Content p {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  font-size: 1rem;
  color: #111;
  margin-bottom: 0.25rem;
  margin-top: 1rem;
  line-height: 1.5;
  word-break: break-word; }
  @media (min-width: 768px) {
    .bls-Content p {
      margin-inline: auto; } }
.bls-Content a {
  font-weight: 700;
  color: #111; }

.bls-Content ol, .bls-Content ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start; }
  @media (min-width: 768px) {
    .bls-Content ol, .bls-Content ul {
      padding-left: 4rem; } }
.bls-Content ol li, .bls-Content ul li {
  max-width: 1600px;
  line-height: 1.25;
  margin: 0 1rem 1.5em;
  margin-top: 1rem;
  margin-bottom: 0rem;
  line-height: 1.5; }
  @media (min-width: 768px) {
    .bls-Content ol li, .bls-Content ul li {
      margin-inline: auto; } }
.bls-Content ol li:first-child,
.bls-Content ul li:first-child {
  margin-top: 0; }

.bls-Content img {
  width: 100%;
  height: auto;
  margin-top: 2rem;
  margin-bottom: 1rem; }

.bls-Content .image-left {
  margin-left: 1rem;
  margin-right: auto; }

.bls-Content .image-right {
  margin-left: auto;
  margin-right: 1rem; }

.bls-Content .image-center {
  margin-inline: auto; }

.bls-Content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.9rem;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }

.bls-Content thead {
  background-color: #18AEF0;
  color: white; }
  .bls-Content thead th {
    padding: 14px 12px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #1590c8; }

.bls-Content tbody tr {
  border-bottom: 1px solid #e5e5e5; }
  .bls-Content tbody tr:nth-child(odd) {
    background-color: #f9f9f9; }
  .bls-Content tbody tr:nth-child(even) {
    background-color: #ffffff; }
  .bls-Content tbody tr:hover {
    background-color: #f0f9ff; }
  .bls-Content tbody tr:last-child {
    border-bottom: none; }

.bls-Content tbody td {
  padding: 12px;
  vertical-align: top;
  border-right: 1px solid #e5e5e5; }
  .bls-Content tbody td:last-child {
    border-right: none; }
  .bls-Content tbody td:first-child {
    font-weight: 600; }

.bls-Content .table-wrapper {
  overflow-x: auto;
  margin: 1.5rem 0; }

@media (min-width: 768px) {
  .bls-Content h1, .bls-Content h2, .bls-Content h3, .bls-Content h4, .bls-Content h5, .bls-Content h6, .bls-Content p, .bls-Content ol, .bls-Content ol li, .bls-Content ul, .bls-Content ul li {
    margin-inline: initial; } }

.bls-Related {
  padding: 2rem;
  grid-area: 2 / 1 / 3 / 3; }
  .bls-Related h2 {
    color: #18AEF0;
    font-size: 2.5rem; }
  .bls-Related li {
    line-height: 2; }
  .bls-Related a {
    color: #111;
    font-weight: 700; }
  @media (min-width: 768px) {
    .bls-Related {
      padding: 0; } }
.asb-Author {
  font-weight: 300;
  padding-inline: 1rem; }
  .asb-Author a {
    color: #111;
    text-decoration: none; }

.asb-Author_Portrait {
  display: block;
  width: 50%;
  height: auto;
  background: url("/xl-nobg.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
  object-fit: scale-down;
  margin-left: 1rem; }

.asb-Author_Role {
  display: block;
  margin-bottom: 0.75rem;
  font-weight: 700;
  padding-inline: 1rem; }

.asb-Author_ReadMore {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: underline;
  padding-inline: 1rem;
  margin-bottom: 3rem;
  color: #111; }

.asb-Tags {
  padding-inline: 1rem; }

.asb-Taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding-inline: 1rem;
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .asb-Taglist {
      margin-bottom: 3rem; } }
.asb-Tag {
  display: block;
  font-size: 0.8rem;
  padding: 0.75rem 1.5rem;
  border-radius: 2.5rem;
  border: 1px solid #707070;
  font-weight: 700;
  text-decoration: none;
  color: #000; }

.asb-Share_Heading {
  padding-inline: 1rem;
  margin-bottom: 1.5rem; }

.asb-ShareList {
  display: grid;
  grid-template-columns: repeat(2, min-content);
  gap: 1rem;
  padding-inline: 1rem; }

.asb-ShareButton {
  height: 54px;
  width: 54px;
  background-color: black;
  display: grid;
  place-items: center;
  border-radius: 50%; }
  .asb-ShareButton svg {
    fill: #fff;
    width: 36px;
    height: 36px; }

.asb-SubscribeButton {
  display: inline-block;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: 1rem;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  line-height: 1.15;
  color: white;
  background: #18AEF0;
  width: auto; }
  @media (min-width: 768px) {
    .asb-SubscribeButton {
      padding: 0.4rem 1rem;
      margin-bottom: 3rem; } }
  .asb-SubscribeButton:visited, .asb-SubscribeButton:active, .asb-SubscribeButton:hover, .asb-SubscribeButton:focus {
    color: white; }

.adp {
  z-index: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr var(--doublePanelMobileOverlap) 60vw;
  overflow: hidden;
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .adp {
      grid-template-columns: 1fr 11vw 1fr;
      grid-template-rows: 3rem 1fr 3rem;
      overflow: initial;
      margin-bottom: 6rem; } }
  @media (min-width: 2500px) {
    .adp {
      grid-template-rows: 3rem 25vw 3rem;
      max-height: initial; } }
  .adp-Panel_Left {
    --dpAngle: 0deg;
    display: grid;
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(1rem, 1fr) minmax(auto, 733px) 9vw;
    grid-area: 1 / 1 / 3 / 2;
    width: 100%;
    height: auto;
    margin: 0;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    .adp-Panel_Left::before {
      content: "";
      width: 100%;
      height: 100%;
      z-index: -1;
      position: absolute;
      top: -3.5rem;
      left: 0;
      background: white;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.505882);
      transform: skew(0deg, var(--dpAngle));
      transform-origin: bottom right;
      transition: transform 0.26s ease-in; }
    @media (min-width: 768px) {
      .adp-Panel_Left {
        grid-template-columns: minmax(1rem, 1fr) minmax(auto, 733px) 9vw;
        grid-area: 1 / 1 / 4 / 3;
        padding-top: 2rem;
        padding-bottom: 2rem; }
        .adp-Panel_Left::before {
          top: initial;
          left: -11vw;
          height: 100%;
          box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.505882);
          transform: skew(var(--dpAngle));
          transform-origin: bottom right; } }
  .adp-Panel_Right {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    margin: 0;
    grid-area: 2 / 1 / 4 / 2;
    display: grid;
    place-items: center; }
    @media (min-width: 768px) {
      .adp-Panel_Right {
        grid-area: 2 / 2 / 3 / 4; } }
    .adp-Panel_Right video {
      width: 100%;
      height: 100%;
      z-index: 1000;
      opacity: 1;
      object-fit: cover;
      object-position: right; }
      @media (min-width: 768px) {
        .adp-Panel_Right video {
          object-position: center;
          height: auto; } }
    .adp-Panel_Right.ImagePanel {
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.505882); }
      @media (min-width: 768px) {
        .adp-Panel_Right.ImagePanel {
          padding: 2rem 0; } }
    .adp-Panel_Right.AltImage {
      padding: 0; }
  .adp-PanelContent_Wrapper {
    display: flex;
    grid-area: 1 / 2 / 2 / 3;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start; }
  .adp-Heading {
    font-weight: 700;
    font-size: 3rem;
    margin-bottom: 1.5rem;
    margin-top: 0;
    margin-left: 0; }
  .adp-InformationWrapper {
    margin-bottom: 1.5rem; }
  .adp-InformationItem {
    margin-top: 0;
    margin-bottom: 0.25rem; }
  .adp-RolesWrapper {
    margin-bottom: 1.5rem; }
  .adp-Role {
    font-weight: 700;
    margin-bottom: 0.5rem;
    margin-top: 0;
    margin-left: 0; }
  .adp-Links {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap; }
  .adp-Link {
    color: #ffffff;
    background: black;
    border-radius: 50%;
    padding: 0.65rem;
    display: grid;
    place-items: center; }
    .adp-Link svg {
      height: 1.5rem;
      width: 1.5rem;
      fill: white; }
  .adp-AltImage {
    width: 100%;
    height: 100%; }
    .adp-AltImage img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .adp-Headshot {
    background: url("/xl-nobg.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 1rem;
    object-fit: scale-down; }

.au-Content {
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .au-Content {
      margin-bottom: 6rem; } }
  .au-Content p, .au-Content h1, .au-Content h2, .au-Content h3, .au-Content h4, .au-Content h5, .au-Content h6, .au-Content span, .au-Content blockquote, .au-Content figure {
    max-width: 1600px;
    line-height: 1.25;
    margin: 0 1rem 1.5em;
    padding-inline: 1rem; }
    @media (min-width: 768px) {
      .au-Content p, .au-Content h1, .au-Content h2, .au-Content h3, .au-Content h4, .au-Content h5, .au-Content h6, .au-Content span, .au-Content blockquote, .au-Content figure {
        margin-inline: auto; } }
  .au-Content ul, .au-Content ol {
    max-width: 1600px;
    line-height: 1.25;
    margin: 0 1rem 1.5em; }
    @media (min-width: 768px) {
      .au-Content ul, .au-Content ol {
        margin-inline: auto; } }
  .au-Content h1, .au-Content h2, .au-Content h3, .au-Content h4, .au-Content h5, .au-Content h6 {
    margin-bottom: 0.75em; }
  .au-Content h1 {
    color: #F13687;
    font-size: 3.5rem; }
  .au-Content h2 {
    font-size: 2rem;
    color: #18AEF0; }
  .au-Content h3 {
    font-size: 1.5rem;
    color: #333; }

.auc {
  margin-inline: 1rem;
  margin-bottom: 2rem;
  max-width: 800px;
  padding-inline: 1rem; }
  @media (min-width: 768px) {
    .auc {
      margin-inline: auto;
      margin-bottom: 6rem; } }
  .auc .carousel ul {
    background: transparent; }
    .auc .carousel ul img {
      object-fit: contain; }
  .auc .carousel ol {
    bottom: -35px;
    padding-left: 0; }
    .auc .carousel ol a {
      background-color: #666;
      transition: all 0.12s ease-in;
      box-shadow: 0 0 3px 0 rgba(23, 0, 55, 0.3); }
    .auc .carousel ol .selected a {
      border-color: #666;
      background-color: #666; }

.cst {
  background: #C9C9C9;
  padding: 2rem 0; }
  @media (min-width: 768px) {
    .cst {
      padding: 3.5rem 1rem; } }
  .cst-Heading {
    max-width: 1600px;
    line-height: 1.25;
    margin: 0 1rem 1.5em;
    font-size: 3.5rem;
    color: #F13687;
    margin-bottom: 2rem; }
    @media (min-width: 768px) {
      .cst-Heading {
        margin-inline: auto; } }
    @media (min-width: 768px) {
      .cst-Heading {
        margin-bottom: 0.25rem; } }
.cst-Case {
  margin-top: 3rem; }

.cst-ListWrapper {
  display: grid;
  gap: 2rem;
  padding-inline: 1rem;
  max-width: 1600px;
  margin-inline: auto;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); }

.cst-ListWrapper div:first-child {
  margin-top: 0; }
  @media (min-width: 768px) {
    .cst-ListWrapper div:first-child {
      margin-top: 3rem; } }
.cst-Image {
  width: 100%;
  max-width: 50rem;
  height: min(50vw, 23rem);
  object-fit: cover; }
  @media (min-width: 768px) {
    .cst-Image {
      height: min(30vw, 23rem); } }
.cst-CaseHeading {
  color: #F13687;
  font-size: 2.25rem; }

.cst-ReadMore {
  font-weight: 700;
  color: #111; }

a:has(.cst-CaseHeading) {
  text-decoration: none; }

.cst-Container {
  padding: clamp(2.25rem, 5vw, 6rem) clamp(3rem, 15vw, 17rem);
  max-width: 1780px;
  margin-inline: auto; }
  @media (min-width: 1500px) {
    .cst-Container {
      width: max-content; } }
.cst-ColumnsWrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(2.5rem, 6vw, 7rem); }
  @media (min-width: 1500px) {
    .cst-ColumnsWrapper {
      grid-template-columns: 450px 1fr; } }
.cst-TestimonialText, .cst-TestimonialPosition {
  max-width: 559px;
  width: 100%;
  font-size: clamp(1rem, 2vw, 1.25rem); }

.cst-TestimonialText {
  margin-bottom: clamp(1.5rem, 3vw, 3rem);
  line-height: 1.5; }

.cst-TestimonialPosition {
  display: block;
  margin-bottom: clamp(1.5rem, 3vw, 3rem);
  font-weight: 500; }

.cst-CTA.ButtonCTA {
  border-radius: 3rem;
  font-size: clamp(0.8rem, 1.5vw, 1.25rem);
  margin: 0; }

.cst-TestimonialPortrait {
  display: block;
  width: 100%;
  height: auto;
  max-width: 300px;
  object-fit: contain; }
  @media (min-width: 768px) {
    .cst-TestimonialPortrait {
      max-width: 350px; } }
  @media (min-width: 1500px) {
    .cst-TestimonialPortrait {
      max-width: 400px; } }
.cst-TestimonialContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-content: center; }
  @media (min-width: 1500px) {
    .cst-TestimonialContent {
      width: max-content; } }
.cst-ColumnsWrapper--centered {
  display: flex;
  justify-content: center;
  text-align: center; }

.cst-TestimonialContent--centered {
  align-items: center; }
  .cst-TestimonialContent--centered .cst-TestimonialText,
  .cst-TestimonialContent--centered .cst-TestimonialPosition {
    text-align: center; }

.cst-Authors {
  background: #f4f4f4; }
  .cst-AuthorsContainer {
    padding: clamp(2.25rem, 5vw, 6rem) clamp(3rem, 15vw, 17rem);
    max-width: 1410px;
    margin-inline: auto; }
  .cst-AuthorsHeading {
    color: #F13687;
    font-size: clamp(1.5rem, 3vw, 2.5rem); }
  .cst-AuthorsWrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 380px));
    justify-content: space-between;
    gap: 1.5rem; }
    .cst-AuthorsWrapper .asb {
      flex: 0 1 min-content;
      padding: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 4rem);
      box-shadow: 35px 25px 40px rgba(0, 0, 0, 0.2); }
    .cst-AuthorsWrapper .asb-Author_Portrait {
      width: calc(100% - 3rem);
      margin-inline: auto;
      margin-bottom: clamp(1.5rem, 2vw, 2.5rem); }
    .cst-AuthorsWrapper .asb-Author_Role {
      font-weight: 400;
      margin-bottom: 0.5rem;
      padding: 0; }
    .cst-AuthorsWrapper .asb-Author {
      font-size: 1.5rem;
      font-weight: 700;
      padding: 0; }

.cst-AboutCompany {
  padding: clamp(2.25rem, 5vw, 6rem) clamp(3rem, 15vw, 17rem);
  max-width: 1780px; }
  .cst-AboutCompany .cst-AboutText {
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5; }
    .cst-AboutCompany .cst-AboutText p {
      font-size: inherit; }

.cst-AboutHeading {
  color: #F13687;
  font-size: clamp(1.5rem, 2vw, 2.25rem); }

.cst-AboutImage {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 1.5rem; }
  @media (min-width: 675px) {
    .cst-AboutImage {
      padding: 0.375rem 1.5rem 1.5rem; } }
.cst-Challenge {
  justify-content: start;
  background: #f4f4f4; }
  .cst-Challenge .cst-Container {
    width: 100%;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5; }
    @media (min-width: 1024px) {
      .cst-Challenge .cst-Container {
        padding-left: 2rem;
        padding-right: 2rem; } }
    @media (min-width: 1250px) {
      .cst-Challenge .cst-Container {
        padding: clamp(2.25rem, 5vw, 6rem) clamp(3rem, 13vw, 17rem); } }
  .cst-Challenge .cst-ColumnsWrapper {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
    .cst-Challenge .cst-ColumnsWrapper div, .cst-Challenge .cst-ColumnsWrapper p {
      font-size: clamp(1rem, 2vw, 1.25rem); }
  .cst-Challenge .cst-PinkSquare, .cst-Challenge .cst-PinkSquare_Image,
  .cst-Challenge .cst-BlockquoteWrapper {
    background: #F13687;
    width: 100%;
    display: none;
    position: relative; }
  .cst-Challenge .cst-BlockquoteWrapper {
    background: linear-gradient(150deg, #f13786, #f180b0a1 50%, transparent), #2c8fea;
    padding: clamp(1rem, 1vw, 1.5rem);
    line-height: 1.25;
    flex-direction: column;
    justify-content: center; }
  .cst-Challenge .cst-Blockquote {
    font-weight: 700;
    color: white;
    margin-top: -2rem; }
  .cst-Challenge .cst-BlockquoteAuthor {
    font-weight: 700;
    text-align: right;
    color: #222;
    margin-top: 5rem; }
  .cst-Challenge .cst-PinkSquare {
    height: calc(100% + (clamp(2.25rem, 5vw, 6rem) * 2 )); }
  .cst-Challenge .cst-PinkSquare_Image {
    height: 100%; }
    .cst-Challenge .cst-PinkSquare_Image .cst-ChallengeImage {
      height: calc(100% + (clamp(2.25rem, 5vw, 6rem) * 1 ) - 2rem);
      position: absolute; }
  .cst-Challenge .pink_heading span {
    font-size: clamp(1.75rem, 2vw, 2.25rem) !important; }
  .cst-Challenge .cst-ChallengeImage {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  @media (min-width: 1024px) {
    .cst-Challenge {
      margin-bottom: calc(clamp(2.25rem, 9vw, 8.5rem) * 1.5); }
      .cst-Challenge .cst-PinkSquare, .cst-Challenge .cst-PinkSquare_Image {
        display: block;
        margin-top: clamp(6rem, 6.75vw, 6.875rem);
        width: calc(100% + 7rem); }
      .cst-Challenge .cst-BlockquoteWrapper {
        display: flex;
        margin-top: clamp(6rem, 6.75vw, 6.875rem);
        width: calc(100% + 7rem); } }
.cst-Solution {
  justify-content: start; }
  .cst-Solution .cst-Heading {
    font-size: clamp(1.75rem, 2vw, 2.25rem);
    margin-bottom: clamp(1rem, 2vw, 2.5rem);
    margin-left: 0; }
  .cst-Solution .cst-Container {
    width: 100%;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5;
    padding-top: clamp(2.25rem, 8vw, 8rem); }
  .cst-Solution .cst-ColumnsWrapper {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
    .cst-Solution .cst-ColumnsWrapper div, .cst-Solution .cst-ColumnsWrapper p {
      font-size: clamp(1rem, 2vw, 1.25rem); }
  @media (min-width: 1024px) {
    .cst-Solution {
      background: #f4f4f4; } }
.cst-Benefits {
  justify-content: start;
  background: #f4f4f4; }
  .cst-Benefits .cst-Container {
    width: 100%;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.5; }
  .cst-Benefits .cst-ColumnsWrapper {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
    .cst-Benefits .cst-ColumnsWrapper div, .cst-Benefits .cst-ColumnsWrapper p {
      font-size: clamp(1rem, 2vw, 1.25rem); }
  .cst-Benefits .cst-PinkSquare,
  .cst-Benefits .cst-PinkSquare_Image,
  .cst-Benefits .cst-BlockquoteWrapper {
    height: 100%;
    background: #F13687;
    width: calc(100% + 7rem);
    display: none;
    position: relative; }
  .cst-Benefits .cst-BlockquoteWrapper {
    background: linear-gradient(150deg, #f13786, #f180b0a1 50%, transparent), #2c8fea;
    padding: clamp(1rem, 1vw, 1.5rem);
    line-height: 1.25;
    flex-direction: column;
    justify-content: center; }
  .cst-Benefits .cst-Blockquote {
    font-weight: 700;
    color: white;
    margin-top: -2rem; }
  .cst-Benefits .cst-BlockquoteAuthor {
    font-weight: 700;
    text-align: right;
    color: #222;
    margin-top: 5rem; }
  .cst-Benefits .pink_heading span {
    font-size: clamp(1.75rem, 2vw, 2.25rem) !important; }
  .cst-Benefits .ButtonCTA {
    border-radius: 3rem;
    margin-top: 2.5rem;
    display: block; }
  .cst-Benefits .cst-PinkSquare_Text {
    position: relative;
    color: white;
    font-weight: 700;
    font-style: italic;
    width: calc(100% - 14rem);
    display: block;
    margin-inline: auto;
    font-size: 1.5rem;
    margin-top: 14rem; }
  .cst-Benefits .cst-BenefitsImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0; }
  @media (min-width: 1024px) {
    .cst-Benefits {
      margin-bottom: calc(clamp(2.25rem, 9vw, 1.5rem) * 2); }
      .cst-Benefits .cst-PinkSquare,
      .cst-Benefits .cst-PinkSquare_Image {
        display: block; }
      .cst-Benefits .cst-BlockquoteWrapper {
        display: flex; }
      .cst-Benefits .cst-PinkSquare_Image,
      .cst-Benefits .cst-BlockquoteWrapper {
        margin-top: clamp(6rem, 6.75vw, 6.875rem); }
      .cst-Benefits + .csc_Cards {
        padding-bottom: 8.5rem; } }
.section.cst-Section {
  margin-top: 1rem;
  padding: 0 1.5rem clamp(4rem, 5vw, 6rem);
  max-width: 1300px; }
  @media (min-width: 1024px) {
    .section.cst-Section {
      padding-top: clamp(4rem, 5vw, 6rem); } }
.ttl {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  padding-bottom: 6rem; }
  .ttl-Heading {
    font-size: 2.5rem;
    margin-bottom: 0.75rem; }
  .ttl-TermPill {
    display: block;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    border: 1px solid #111;
    width: max-content; }
  .ttl-Articles {
    margin-left: -1rem;
    margin-top: 1.5rem; }
  .ttl-ArticleLink a {
    color: #111;
    line-height: 2;
    font-weight: 700; }

.fcs {
  padding: clamp(3rem, 7vw, 8rem) 0; }
  .fcs .container {
    padding: 0 1.5rem; }
  .fcs-Wrapper {
    width: auto;
    max-width: 100%; }
  .fcs-Image {
    max-width: 100%;
    height: 100%;
    object-fit: cover; }
  .fcs-ImageWrapper {
    grid-column: 1 / 3;
    margin-bottom: 0.75rem; }
    @media (min-width: 992px) {
      .fcs-ImageWrapper {
        margin-bottom: 0; } }
  .fcs-Content {
    grid-column: 3 / 4; }
    @media (min-width: 1180px) {
      .fcs-Content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: clamp(2rem, 3.5vw, 4rem) 0 0; } }
  .fcs-Date {
    font-size: 12px;
    margin-bottom: 0.5rem; }
    @media (min-width: 1180px) {
      .fcs-Date {
        font-size: 14px;
        margin-bottom: 1rem;
        display: block; } }
  .fcs-Heading {
    margin-top: 0;
    color: #F13687;
    margin-bottom: 0.75rem; }
    @media (min-width: 1180px) {
      .fcs-Heading {
        font-size: clamp(2rem, 2.5vw, 3.5rem);
        margin-bottom: clamp(1rem, 1.5vw, 1.5rem); } }
  .fcs-Summary {
    margin-top: 0;
    font-size: 14px; }
    @media (min-width: 1180px) {
      .fcs-Summary {
        font-size: clamp(16px, 1vw, 18px); } }
  .fcs-More {
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #111;
    display: block;
    font-size: 14px; }
    @media (min-width: 1024px) {
      .fcs-More {
        margin-bottom: 0; } }
  .fcs-Authors {
    display: flex;
    gap: 1rem 3rem;
    flex-wrap: wrap; }
    @media (min-width: 1024px) {
      .fcs-Authors {
        padding: clamp(2.5rem, 3.5vw, 5rem) 0; } }
  .fcs-AuthorWrapper {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1vw, 2rem);
    margin-bottom: 0;
    width: max-content; }
  .fcs-Author_Portrait {
    display: block;
    width: clamp(4rem, 5vw, 6rem);
    height: auto;
    background: url("/xl-nobg.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left;
    object-fit: scale-down;
    border-radius: 50%; }
  .fcs-Author {
    width: min-content; }
    .fcs-Author a, .fcs-Author a:visited {
      color: #111;
      font-weight: 700;
      text-decoration: none; }
  @media (min-width: 992px) {
    .fcs-Wrapper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem; } }
.csi {
  padding-bottom: clamp(2vw, 6vw, 8rem); }
  .csi-Heading {
    color: #F13687;
    margin-top: 0;
    margin-bottom: 1.5rem; }
    @media (min-width: 1180px) {
      .csi-Heading {
        font-size: clamp(2rem, 2.5vw, 3.5rem);
        margin-bottom: clamp(1rem, 1.5vw, 1.5rem); } }
  .csi-ItemsWrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 2fr));
    gap: 2rem; }
    @media (min-width: 1280px) {
      .csi-ItemsWrapper {
        gap: 4rem;
        grid-template-columns: repeat(3, minmax(290px, 1fr)); } }
  .csi-ItemWrapper {
    display: flex;
    flex-direction: column; }
  .csi-Image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    max-width: 100%;
    height: auto;
    margin-bottom: clamp(1vw, 4vw, 3rem);
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); }
  .csi-ReadMore {
    font-weight: 700;
    color: #111; }
  .csi-ItemHeading {
    margin-top: 0;
    height: 74px;
    margin-bottom: 0.5rem; }
  .csi-ItemSummary {
    margin-top: 0; }

@media (min-width: 768px) and (max-width: 1023px) {
  .ot p {
    max-width: 100%; } }

.ic-section {
  padding: 40px 20px;
  background: #f5f5f7; }
  @media (min-width: 768px) {
    .ic-section {
      padding: 50px 20px; } }
  @media (min-width: 1024px) {
    .ic-section {
      padding: 80px 40px; } }
.ic-container {
  max-width: 1100px;
  margin: 0 auto; }

.ic-heading {
  text-align: center;
  margin-bottom: 30px; }
  @media (min-width: 768px) {
    .ic-heading {
      margin-bottom: 40px; } }
  @media (min-width: 1024px) {
    .ic-heading {
      margin-bottom: 60px; } }
.ic-benefits {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px; }
  @media (min-width: 768px) {
    .ic-benefits {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px; } }
  @media (min-width: 1024px) {
    .ic-benefits {
      gap: 40px; } }
.ic-benefit {
  font-family: Montserrat, sans-serif;
  margin-bottom: 24px; }
  .ic-benefit:last-child {
    margin-bottom: 0; }

.ic-benefit-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a; }
  @media (min-width: 768px) {
    .ic-benefit-title {
      font-size: 18px; } }
.ic-benefit-text {
  color: #000;
  font-size: clamp(0.875rem, 1vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5; }

.ic-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px; }
  @media (min-width: 768px) {
    .ic-cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 24px; } }
.ic-card {
  background: white;
  padding: 30px 24px;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  text-align: center; }
  @media (min-width: 768px) {
    .ic-card {
      padding: 40px 30px; } }
  @media (min-width: 1024px) {
    .ic-card {
      padding: 50px 40px; } }
.ic-card-number {
  color: #1D96F1;
  font-weight: 700;
  font-size: 48px;
  font-family: Montserrat, sans-serif;
  margin-bottom: 16px;
  line-height: 1; }
  @media (min-width: 768px) {
    .ic-card-number {
      font-size: 60px;
      margin-bottom: 20px; } }
  @media (min-width: 1024px) {
    .ic-card-number {
      font-size: 72px;
      margin-bottom: 24px; } }
.ic-card-title {
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px; }
  @media (min-width: 768px) {
    .ic-card-title {
      font-size: 20px;
      margin-bottom: 16px; } }
.ic-card-text {
  font-family: Montserrat, sans-serif;
  font-size: clamp(0.875rem, 1vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  color: #000;
  margin: 0; }

.ic-section--white {
  background: white;
  padding-bottom: 20px; }
  @media (min-width: 768px) {
    .ic-section--white {
      padding-bottom: 30px; } }
  @media (min-width: 1024px) {
    .ic-section--white {
      padding-bottom: 40px; } }
.ic-fit-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px; }
  @media (min-width: 768px) {
    .ic-fit-grid {
      grid-template-columns: 1fr 1fr;
      gap: 40px; } }
  @media (min-width: 1024px) {
    .ic-fit-grid {
      gap: 60px; } }
.ic-fit-column .ic-heading {
  text-align: left;
  margin-bottom: 16px; }
  @media (min-width: 768px) {
    .ic-fit-column .ic-heading {
      margin-bottom: 24px; } }
.ic-fit-list {
  list-style: none;
  padding: 0;
  margin: 0; }
  .ic-fit-list li {
    font-family: Montserrat, sans-serif;
    font-size: clamp(0.875rem, 1vw, 1.25rem);
    font-weight: 500;
    line-height: 1.5;
    color: #000;
    padding-left: 24px;
    margin-bottom: 12px;
    position: relative; }
    @media (min-width: 768px) {
      .ic-fit-list li {
        padding-left: 28px;
        margin-bottom: 16px; } }
    .ic-fit-list li::before {
      content: "✓";
      position: absolute;
      left: 0;
      color: #1D96F1;
      font-weight: 700; }
  .ic-fit-list--not li::before {
    content: "✗";
    color: #f03687; }

.ic-faq {
  padding: 40px 20px;
  background: #f5f5f7; }
  @media (min-width: 768px) {
    .ic-faq {
      padding: 60px 30px; } }
  @media (min-width: 1024px) {
    .ic-faq {
      padding: 80px 40px; } }
.ic-faq-list {
  max-width: 800px;
  margin: 0 auto; }

.ic-faq-item {
  background: white;
  border-radius: 12px;
  margin-bottom: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  overflow: hidden; }
  @media (min-width: 768px) {
    .ic-faq-item {
      margin-bottom: 16px; } }
  .ic-faq-item[open] .ic-faq-question::after {
    transform: rotate(180deg); }

.ic-faq-question {
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  padding: 18px 40px 18px 18px;
  cursor: pointer;
  list-style: none;
  position: relative; }
  @media (min-width: 768px) {
    .ic-faq-question {
      font-size: 18px;
      padding: 24px 50px 24px 24px; } }
  .ic-faq-question::-webkit-details-marker {
    display: none; }
  .ic-faq-question::after {
    content: "▼";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    color: #1D96F1;
    transition: transform 0.2s ease; }
    @media (min-width: 768px) {
      .ic-faq-question::after {
        right: 24px;
        font-size: 12px; } }
  .ic-faq-question:hover {
    color: #1D96F1; }

.ic-faq-answer {
  font-family: Montserrat, sans-serif;
  font-size: clamp(0.875rem, 1vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  color: #000;
  padding: 0 18px 18px; }
  @media (min-width: 768px) {
    .ic-faq-answer {
      padding: 0 24px 24px; } }
  .ic-faq-answer p {
    margin: 0; }

.retainer-table-section {
  padding: 40px 20px;
  background: #f5f5f7; }
  @media (min-width: 768px) {
    .retainer-table-section {
      padding: 50px 20px; } }
  @media (min-width: 1024px) {
    .retainer-table-section {
      padding: 80px 40px; } }
.retainer-table-container {
  max-width: 1100px;
  margin: 0 auto; }

.retainer-table-heading {
  text-align: center;
  margin-bottom: 2rem; }

.retainer-table-wrapper {
  overflow-x: auto;
  margin-top: 2rem; }

.retainer-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Montserrat, sans-serif;
  font-size: clamp(0.875rem, 1vw, 1rem); }
  .retainer-table th {
    background: #1D96F1;
    color: white;
    padding: 1rem;
    text-align: left;
    border: 1px solid #ddd; }
  .retainer-table td {
    padding: 1rem;
    border: 1px solid #ddd; }
  .retainer-table tr:nth-child(even) {
    background: #f9f9f9; }
  .retainer-table .retainer-table-criteria {
    font-weight: 600; }

.retainer-table-footnote {
  font-size: 0.875rem;
  color: #666;
  margin-top: 1.5rem;
  text-align: center; }

.retainer-popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(4px); }

.retainer-popup-content {
  background: #fff;
  border-radius: 16px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  animation: retainerPopupFadeIn 0.3s ease-out; }

.retainer-popup-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #666;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s ease; }
  .retainer-popup-close:hover {
    background: #f0f0f0;
    color: #333; }

.retainer-popup-body {
  padding: 40px; }

.retainer-popup-title {
  font-family: Montserrat, sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #282524;
  margin: 0 0 8px 0;
  text-align: center; }

.retainer-popup-subtitle {
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  color: #666;
  margin: 0 0 24px 0;
  text-align: center; }

@keyframes retainerPopupFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-10px); }
  to {
    opacity: 1;
    transform: scale(1) translateY(0); } }

#retainer-hubspot-form .hs-form-field {
  margin-bottom: 20px !important; }

#retainer-hubspot-form .hs-form input[type="text"],
#retainer-hubspot-form .hs-form input[type="email"],
#retainer-hubspot-form .hs-input {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  font-family: Montserrat, sans-serif !important; }

#retainer-hubspot-form .hs-form textarea,
#retainer-hubspot-form textarea.hs-input {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
  font-family: Montserrat, sans-serif !important; }

#retainer-hubspot-form .hs-form .hs-button,
#retainer-hubspot-form .hs-button.primary {
  background-color: #18AEF0 !important;
  color: #fff !important;
  border: none !important;
  padding: 1rem 2rem !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background-color 0.2s ease !important; }
  #retainer-hubspot-form .hs-form .hs-button:hover,
  #retainer-hubspot-form .hs-button.primary:hover {
    background-color: #1590c8 !important; }

#retainer-hubspot-form .hs-form label {
  font-family: Montserrat, sans-serif !important;
  font-weight: 600 !important;
  color: #333 !important; }

.IconLink {
  color: #ffffff;
  background: black;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  height: 2.25rem;
  width: 2.25rem;
  margin: 0.5rem 0.25rem 0; }
  .IconLink svg {
    height: 1.5rem;
    width: 1.5rem;
    fill: white; }
  .IconLink-github svg {
    margin-left: 0px; }

.ButtonCTA {
  display: block;
  background: #18AEF0;
  color: #ffffff;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  padding: 1rem 2rem;
  margin: 1.5rem 0;
  width: max-content; }
  .ButtonCTA:visited, .ButtonCTA:active, .ButtonCTA:hover, .ButtonCTA:focus {
    color: #ffffff; }

@media (min-width: 992px) {
  .dp-Sq {
    display: grid;
    padding: 0 1rem;
    grid-template-columns: 1fr 1fr;
    max-width: 1600px;
    margin-inline: auto; }
    .dp-Sq.dp__Fluid {
      grid-template-columns: max-content 1fr;
      gap: 1rem; } }

.dp-SummaryPanel {
  padding: 0 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  .dp-SummaryPanel h2, .dp-SummaryPanel h3 {
    margin-bottom: 0; }
  .dp-SummaryPanel h3 {
    margin-top: 0.5rem; }
  @media (min-width: 992px) {
    .dp-SummaryPanel {
      padding: 0 1rem 0 0; } }
.dp-Links {
  margin-top: 1rem; }

.dp-MediaPanel_Image {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.dp-MediaPanel_Embed {
  min-height: 500px;
  height: 100%;
  width: 100%; }

.dp-Wrapper_Services {
  padding: 7.75rem 1.5rem 3rem;
  max-width: 1600px;
  margin-inline: auto; }
  @media (min-width: 1024px) {
    .dp-Wrapper_Services {
      padding: 5.75rem clamp(1.5rem, 2vw, 2rem) clamp(3rem, 6vw, 7rem);
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 1rem clamp(3rem, 5vw, 6rem); } }
.dp_Services {
  background: linear-gradient(160deg, #f13687, #1d96f1);
  color: white; }
  .dp_Services .dp-SummaryPanel {
    padding: 0; }
    .dp_Services .dp-SummaryPanel h2 {
      font-size: clamp(2.75rem, 4.5vw, 4.5rem);
      line-height: 1.15;
      margin-bottom: 2rem;
      margin-top: 0; }
      @media (min-width: 1024px) {
        .dp_Services .dp-SummaryPanel h2 {
          margin-bottom: clamp(2rem, 4.5vw, 5rem); } }
    .dp_Services .dp-SummaryPanel span {
      font-weight: 600;
      line-height: 1.25;
      font-size: clamp(1.5rem, 2.5vw, 2.5rem);
      margin-bottom: 3rem; }
      @media (min-width: 768px) {
        .dp_Services .dp-SummaryPanel span {
          margin-bottom: 0; } }
  .dp_Services .dp-MediaPanel_Embed {
    width: 100%;
    height: auto;
    min-height: initial;
    aspect-ratio: 16/9; }
  @media (min-width: 1024px) {
    .dp_Services .dp-MediaPanel {
      display: flex;
      flex-direction: column;
      justify-content: center; } }
  .dp_Services .ButtonCTA {
    border-radius: 4rem;
    padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 2vw, 1.75rem);
    margin-bottom: 0.5rem;
    font-size: clamp(1rem, 1.5vw, 1.875rem);
    margin-top: 1.5rem; }
    @media (min-width: 1024px) {
      .dp_Services .ButtonCTA {
        margin-bottom: 0; } }
  .dp_Services .dp-ButtonSubtext {
    font-size: 0.875rem;
    opacity: 0.9;
    margin: 0.5rem 0 2rem; }
    @media (min-width: 1024px) {
      .dp_Services .dp-ButtonSubtext {
        margin-bottom: 0; } }
.dp-Wrapper_CaseStudies {
  padding: 7.75rem 1.5rem 3rem;
  max-width: 1600px;
  margin-inline: auto; }
  @media (min-width: 1024px) {
    .dp-Wrapper_CaseStudies {
      padding: 5.75rem clamp(1.5rem, 2vw, 2rem) clamp(3rem, 6vw, 7rem);
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 1rem clamp(3rem, 5vw, 6rem); } }
.dp_CaseStudies {
  background: linear-gradient(160deg, #f13687, #1d96f1);
  color: white; }
  .dp_CaseStudies .dp-SummaryPanel {
    padding: 0; }
    @media (min-width: 1440px) {
      .dp_CaseStudies .dp-SummaryPanel {
        padding-top: 2rem; } }
    .dp_CaseStudies .dp-SummaryPanel h2 {
      font-size: clamp(2.5rem, 4.5vw, 4rem);
      line-height: 1.15;
      margin-bottom: 1.25rem;
      margin-top: 0; }
    .dp_CaseStudies .dp-SummaryPanel span {
      font-weight: 600;
      line-height: 1.25;
      font-size: clamp(1.25rem, 2vw, 1.625rem);
      font-weight: 500;
      margin-bottom: 0.25rem; }
      @media (min-width: 768px) {
        .dp_CaseStudies .dp-SummaryPanel span {
          margin-bottom: 0; } }
    .dp_CaseStudies .dp-SummaryPanel .ButtonCTA {
      font-size: clamp(1.125rem, 2vw, 1.5rem); }
  .dp_CaseStudies .dp-MediaPanel_Embed {
    width: 100%;
    height: auto;
    min-height: initial;
    aspect-ratio: 16/9; }
  @media (min-width: 1024px) {
    .dp_CaseStudies .dp-MediaPanel {
      display: flex;
      flex-direction: column;
      justify-content: start; } }
  .dp_CaseStudies .ButtonCTA {
    border-radius: 4rem;
    padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 2vw, 1.75rem);
    margin-bottom: 3rem;
    font-size: clamp(1rem, 1.5vw, 1.875rem);
    margin-top: 1.5rem; }
    @media (min-width: 1024px) {
      .dp_CaseStudies .ButtonCTA {
        margin-bottom: 0; } }
.ss {
  --image_width: 30%; }
  @media (min-width: 820px) {
    .ss {
      display: grid;
      gap: 1rem;
      grid-template-columns: minmax(auto, var(--image_width)) 1fr; } }
  .ss-Heading {
    grid-area: span 1 / span 2; }
  .ss-Image img {
    width: 100%;
    height: auto;
    display: block; }

.twc {
  background: #DDDDDD53;
  box-sizing: border-box; }
  .twc-Heading {
    color: #F13687;
    font-size: clamp(2.125rem, 4vw, 3.4rem);
    margin-top: 0;
    margin-bottom: 0.5rem; }
    .twc-Heading_Centered {
      text-align: center; }
  .twc-Subheading {
    color: #F13687;
    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
    margin-top: 0;
    margin-bottom: 1.5rem; }
  .twc-Container {
    padding: clamp(3.25rem, 6vw, 6rem) clamp(3rem, 15vw, 17rem);
    max-width: 1920px;
    margin-inline: auto; }
  .twc-ColumnsWrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2.5rem;
    align-items: start; }
    .twc-ColumnsWrapper h2, .twc-ColumnsWrapper h3, .twc-ColumnsWrapper h4, .twc-ColumnsWrapper h5 {
      margin-top: 0;
      line-height: 1.375; }
    .twc-ColumnsWrapper h3 {
      font-size: clamp(19px, 2.5vw, 2.5rem); }
    .twc-ColumnsWrapper p {
      font-size: clamp(0.875rem, 1vw, 1.25rem);
      font-weight: 300;
      line-height: 1.25; }
      @media (min-width: 1024px) {
        .twc-ColumnsWrapper p {
          font-weight: 500;
          line-height: 1.5; } }
    .twc-ColumnsWrapper ul, .twc-ColumnsWrapper ol {
      padding-left: 1.25rem;
      margin: 0; }
    .twc-ColumnsWrapper > *:nth-child(2) > ul:first-child,
    .twc-ColumnsWrapper > *:nth-child(2) > ol:first-child {
      margin-top: clamp(5rem, 5.5vw, 6rem); }
    .twc-ColumnsWrapper li {
      font-size: clamp(0.875rem, 1vw, 1.25rem);
      font-weight: 500;
      line-height: 1.6;
      margin-bottom: 1rem; }
    .twc-ColumnsWrapper_Centered {
      text-align: center; }
      .twc-ColumnsWrapper_Centered p {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto; }

.ot {
  position: relative;
  overflow: hidden; }
  .ot-Award {
    display: flex;
    max-width: clamp(280px, calc(50vw - 5rem), 640px);
    margin-bottom: clamp(1rem, 4vw, 5.5rem);
    align-items: center; }
    @media (max-width: 1280px) {
      .ot-Award {
        max-width: none; } }
    @media (max-width: 768px) {
      .ot-Award {
        flex-direction: column;
        gap: 20px; } }
  .ot-AwardImg {
    width: 200px;
    height: auto;
    align-self: center; }
  .ot-Wrapper {
    padding: 3.25rem clamp(3rem, 15vw, 17rem) 0;
    padding: clamp(3.25rem, 6vw, 6.75rem) clamp(3rem, 15vw, 17rem) 0;
    max-width: 1920px;
    margin-inline: auto; }
  .ot-BottomWrapper {
    padding: 0 clamp(3rem, 15vw, 17rem) 0;
    max-width: 1920px;
    margin-inline: auto; }
    @media (min-width: 440px) {
      .ot-BottomWrapper {
        padding: 0 clamp(3rem, 15vw, 17rem) 0; } }
  .ot-Heading {
    color: #F13687;
    font-size: clamp(2.125rem, 4vw, 3.4rem);
    margin-top: 0;
    margin-bottom: clamp(1rem, 4vw, 5.5rem); }
  .ot h2, .ot h3, .ot h4, .ot h5 {
    margin-top: 0;
    line-height: 1.375;
    max-width: 600px; }
  .ot p {
    margin-top: 0;
    font-size: clamp(0.875rem, 1vw, 1.25rem);
    font-weight: 300;
    line-height: 1.25;
    max-width: clamp(280px, calc(50vw - 5rem), 640px); }
    @media (min-width: 1024px) {
      .ot p {
        font-weight: 500;
        line-height: 1.5; } }
  .ot-AwardText {
    max-width: none !important;
    margin-bottom: 0;
    align-self: center; }
  .ot .ButtonCTA {
    border-radius: 4rem;
    padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 2vw, 1.75rem);
    margin-bottom: 3rem;
    font-size: clamp(1rem, 1.5vw, 1.875rem);
    margin-top: clamp(1.5rem, 3vw, 3rem); }
  .ot-TeamLogo {
    position: absolute;
    width: calc(100vw - 3rem - 150px);
    height: auto;
    right: -20%;
    bottom: 0; }
    @media (min-width: 440px) {
      .ot-TeamLogo {
        width: 45vw;
        right: -5%; } }
    @media (min-width: 768px) {
      .ot-TeamLogo {
        width: 50vw; } }
    @media (min-width: 1440px) {
      .ot-TeamLogo {
        height: calc(100% - 6rem);
        object-fit: contain; } }
  .ot-TeamCutout {
    position: relative;
    width: 100%;
    height: auto;
    object-position: center bottom;
    transform: translateY(5px); }

.ste {
  position: relative;
  overflow: hidden;
  background: #f4f4f4; }
  .ste-Wrapper {
    padding: 4rem 2rem 4rem;
    max-width: 1920px;
    margin-inline: auto; }
    @media (min-width: 540px) {
      .ste-Wrapper {
        padding: clamp(4rem, 6vw, 6rem) clamp(3rem, 15vw, 17rem); } }
  .ste-Heading {
    color: #F13687;
    margin-top: 0;
    margin-bottom: 3rem;
    font-size: clamp(2.125rem, 4vw, 3.4rem); }
  @media (min-width: 1440px) {
    .ste-StepsWrapper {
      column-count: 2;
      column-gap: clamp(2rem, 3vw, 3rem); }
      .ste-StepsWrapper p:first-child {
        margin-top: 0; } }
  .ste-Step {
    display: flex;
    background: white;
    border-radius: 15rem;
    gap: clamp(0.5rem, 2vw, 2rem);
    align-items: center;
    padding: clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 2rem) clamp(1rem, 2vw, 1.5rem) clamp(1.5rem, 3vw, 4rem);
    break-inside: avoid-column;
    margin-bottom: clamp(1rem, 2vw, 2.5rem); }
  .ste-StepNumber {
    color: #18AEF0;
    font-weight: 700;
    font-size: clamp(2.25rem, 3.5vw, 3.75rem);
    min-width: 3rem;
    text-align: right; }
  .ste-StepText {
    color: #111;
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.5; }

.twc + .ste .ste-Wrapper {
  padding-top: 2rem; }
  @media (min-width: 540px) {
    .twc + .ste .ste-Wrapper {
      padding-top: clamp(2rem, 4vw, 4rem); } }
.twc:has(+ .ste) .twc-Container {
  padding-bottom: 2rem; }
  @media (min-width: 540px) {
    .twc:has(+ .ste) .twc-Container {
      padding-bottom: clamp(2rem, 4vw, 4rem); } }
.ccta {
  position: relative;
  overflow: hidden;
  padding: 3rem;
  max-width: 1920px;
  margin-inline: auto;
  background: white; }
  @media (min-width: 540px) {
    .ccta {
      padding: 6.5rem clamp(3rem, 15vw, 17rem) clamp(3rem, 4vw, 6rem); } }
  .ccta-Heading {
    color: #F13687;
    font-size: clamp(2.125rem, 4vw, 3.4rem);
    margin-top: 0;
    margin-bottom: clamp(3rem, 5vw, 6rem);
    line-height: 1.25;
    text-align: center;
    padding-left: clamp(0px, 2vw, 1rem);
    padding-right: clamp(0px, 2vw, 1rem); }
  .ccta .ButtonCTA {
    margin-inline: auto;
    border-radius: 4rem;
    padding: clamp(1rem, 2vw, 1.25rem) clamp(1.25rem, 2vw, 1.75rem);
    margin-bottom: 3rem;
    font-size: clamp(1rem, 1.5vw, 1.875rem);
    margin-top: clamp(1.5rem, 3vw, 3rem); }

.csc {
  background: #C9C9C9;
  padding: 2rem 0; }
  @media (min-width: 768px) {
    .csc {
      padding: 3.5rem 1rem; } }
  .csc-Heading {
    max-width: 1600px;
    line-height: 1.25;
    margin: 0 1rem 1.5em;
    font-size: clamp(2.125rem, 4vw, 3.4rem);
    color: #F13687;
    margin-bottom: 2rem;
    margin-inline: auto;
    text-align: center;
    line-height: 1.15; }
    @media (min-width: 768px) {
      .csc-Heading {
        margin-inline: auto; } }
    @media (min-width: 768px) {
      .csc-Heading {
        margin-bottom: 0.25rem; } }
.csc {
  /*
  &-ListWrapper {
    div:first-child {
      margin-top: 0;
      @media (min-width: 768px) {
        margin-top: 3rem;
      }
    }
  }
  */ }
  .csc-CaseWrapper {
    padding: 2rem;
    max-width: 360px;
    left: 50% !important;
    transform: translateX(-50%) !important; }
    @media (min-width: 1440px) {
      .csc-CaseWrapper {
        max-width: 413px; } }
  .csc-Case {
    box-shadow: 35px 25px 40px rgba(0, 0, 0, 0.2);
    background: white; }
  .csc-ListWrapper {
    max-width: 1600px;
    margin-inline: auto;
    margin-top: 3rem; }
    @media (min-width: 1600px) {
      .csc-ListWrapper.carousel ul {
        overflow: visible; } }
  .csc-Image {
    width: 100%;
    max-width: 50rem;
    height: min(50vw, 23rem);
    object-fit: cover; }
    @media (min-width: 768px) {
      .csc-Image {
        height: min(30vw, 23rem); } }
  .csc-CaseHeading {
    color: white;
    font-size: 1.25rem;
    text-align: center;
    width: clamp(9rem, 10vw, 24rem);
    margin-inline: auto;
    margin-bottom: 0; }
    @media (min-width: 1440px) {
      .csc-CaseHeading {
        width: auto;
        font-size: 27px;
        margin-bottom: 0.5rem; } }
  .csc-ReadMore {
    font-weight: 700;
    color: #111; }
  .csc-TestimonialWrapper {
    padding: 1.5rem 1.5rem 1rem;
    height: 20rem; }
  .csc-QuoteMark {
    float: left;
    margin-right: -1rem; }
  .csc-Testimonial {
    font-weight: 700;
    color: #555;
    text-align: center;
    font-size: 1.125rem;
    margin-top: 2rem;
    color: #707070; }
    @media (min-width: 1440px) {
      .csc-Testimonial {
        font-size: 19px; } }
    .csc-Testimonial:after {
      content: "”";
      margin-left: 0.125rem; }
  .csc-TestimonialAuthor {
    display: block;
    color: #666;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
    margin-top: 0.125rem; }
    @media (min-width: 1440px) {
      .csc-TestimonialAuthor {
        font-size: 1rem; } }
  .csc-ArticleInfo {
    position: relative;
    z-index: 0;
    overflow: hidden;
    padding: 3.875rem 2rem 3rem;
    height: 19rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column; }
    @media (min-width: 1440px) {
      .csc-ArticleInfo {
        padding-top: 4.25rem;
        height: 22rem; } }
    .csc-ArticleInfo img {
      position: absolute;
      inset: 0;
      z-index: -1;
      width: 100%;
      height: 100%; }
  .csc-Summary {
    color: white;
    text-align: center;
    font-size: 14px;
    font-weight: 500; }
  .csc-ReadMore {
    display: block;
    width: 10rem;
    background: white;
    border-radius: 2rem;
    padding: 0.375rem;
    font-size: 14px;
    text-decoration: none;
    text-align: center;
    margin-inline: auto;
    color: #111;
    margin-top: auto; }

a:has(.csc-CaseHeading) {
  text-decoration: none; }

.csc_Cards {
  background-color: white;
  padding-top: 3rem;
  padding-top: clamp(3.25rem, 6vw, 6.75rem);
  overflow: hidden; }

.csc_Cards .carousel .carousel-slide {
  text-align: center;
  min-width: 100%;
  padding-bottom: 45rem; }
  @media (min-width: 768px) {
    .csc_Cards .carousel .carousel-slide {
      min-width: 50%; } }
  @media (min-width: 1180px) {
    .csc_Cards .carousel .carousel-slide {
      min-width: calc(100% / 3); } }
  @media (min-width: 1440px) {
    .csc_Cards .carousel .carousel-slide {
      min-width: 25%;
      padding-bottom: 49rem; } }
  @media (min-width: 1600px) {
    .csc_Cards .carousel .carousel-slide {
      min-width: 400px; } }
.csc_Cards .carousel ol {
  display: none; }

.csc_Cards .carousel .prev, .csc_Cards .carousel .next {
  color: #F13687;
  display: block; }
  @media (min-width: 1440px) {
    .csc_Cards .carousel .prev, .csc_Cards .carousel .next {
      display: none !important; } }
.csc_Cards .carousel .next {
  right: -8px; }
  @media (min-width: 830px) {
    .csc_Cards .carousel .next {
      right: 1vw; } }
  @media (min-width: 1180px) {
    .csc_Cards .carousel .next {
      right: calc(1vw - 8px); } }
.csc_Cards .carousel .prev {
  left: -8px; }
  @media (min-width: 830px) {
    .csc_Cards .carousel .prev {
      left: 1vw; } }
  @media (min-width: 1180px) {
    .csc_Cards .carousel .prev {
      left: calc(1vw - 68x); } }
.container {
  max-width: 1600px;
  padding: 0 1rem;
  margin-inline: auto; }

.section {
  max-width: 1600px;
  padding: 0 1rem;
  margin-top: 2rem;
  margin-inline: auto; }

.blue_heading {
  color: #18AEF0;
  font-size: 24px; }
  .blue_heading.big span {
    font-size: 32px; }
  .blue_heading.bigger span {
    font-size: 48px; }

.pink_heading {
  color: #F13687;
  font-size: 24px; }
  .pink_heading.big span {
    font-size: 32px; }
  .pink_heading.bigger span {
    font-size: 48px; }

.mt-1 {
  margin-top: clamp(0.75rem, 3vw, 1rem); }

.mt-2 {
  margin-top: clamp(1rem, 3vw, 1.5rem); }

.mt-3 {
  margin-top: clamp(1.25rem, 4vw, 2.5rem); }

.mt-4 {
  margin-top: clamp(1.5rem, 5vw, 4rem); }

.mt-5 {
  margin-top: clamp(2rem, 6vw, 6.5rem); }

.mb-1 {
  margin-bottom: clamp(0.75rem, 3vw, 1rem); }

.mb-2 {
  margin-bottom: clamp(1rem, 3vw, 1.5rem); }

.mb-3 {
  margin-bottom: clamp(1.25rem, 4vw, 2.5rem); }

.mb-4 {
  margin-bottom: clamp(1.5rem, 5vw, 4rem); }

.mb-5 {
  margin-bottom: clamp(2rem, 6vw, 6.5rem); }

* {
  box-sizing: border-box; }

.highlight {
  max-width: 100%;
  overflow: hidden; }
  .highlight pre {
    overflow-x: scroll;
    padding: 1.5rem;
    border-radius: 3px; }
