/* This is an example to import fonts from css */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Rubik:wght@300;400;500;600;700;800;900&display=swap");
/*! 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;
  margin: auto;
}

/* 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;
}
*, *:before, *:after {
  box-sizing: border-box;
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1240px;
}
@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section,
.content-wrapper--vertical-spacing {
  padding: 80px 20px;
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: 1240px;
}

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

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}
/* For global DND areas */
.kl-dnd-header:before {
  content: "";
  position: relative;
  display: block;
  height: 100%;
}
.kl-dnd-header-area {
  z-index: 99;
  position: fixed;
  width: 100%;
  /* Specifically for the header navbar */
}
.kl-dnd-header-area header.kl-header {
  position: relative;
}
.kl-dnd-header-area div.kl-header-placeholder {
  height: 0;
}
.kl-dnd-header-spacer {
  height: 100px;
}
/* Responsive Grid */
.row-fluid {
  width: 100%;
  *zoom: 1;
}

.row-fluid:before, .row-fluid:after {
  display: table;
  content: "";
}

.row-fluid:after {
  clear: both;
}

.row-fluid [class*=span] {
  display: block;
  float: left;
  width: 100%;
  margin-left: 2.127659574%;
  *margin-left: 2.0744680846%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.row-fluid [class*=span]:first-child {
  margin-left: 0;
}

.row-fluid .span12 {
  width: 99.99999999%;
  *width: 99.9468085006%;
}

.row-fluid .span11 {
  width: 91.489361693%;
  *width: 91.4361702036%;
}

.row-fluid .span10 {
  width: 82.978723396%;
  *width: 82.9255319066%;
}

.row-fluid .span9 {
  width: 74.468085099%;
  *width: 74.4148936096%;
}

.row-fluid .span8 {
  width: 65.957446802%;
  *width: 65.9042553126%;
}

.row-fluid .span7 {
  width: 57.446808505%;
  *width: 57.3936170156%;
}

.row-fluid .span6 {
  width: 48.936170208%;
  *width: 48.8829787186%;
}

.row-fluid .span5 {
  width: 40.425531911%;
  *width: 40.3723404216%;
}

.row-fluid .span4 {
  width: 31.914893614%;
  *width: 31.8617021246%;
}

.row-fluid .span3 {
  width: 23.404255317%;
  *width: 23.3510638276%;
}

.row-fluid .span2 {
  width: 14.89361702%;
  *width: 14.8404255306%;
}

.row-fluid .span1 {
  width: 6.382978723%;
  *width: 6.3297872336%;
}

.container-fluid {
  *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
  display: table;
  content: "";
}

.container-fluid:after {
  clear: both;
}

@media (max-width: 767px) {
  .row-fluid {
    width: 100%;
  }
  .row-fluid [class*=span] {
    display: block;
    float: none;
    width: auto;
    margin-left: 0;
  }
}
@media (min-width: 768px) and (max-width: 1139px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*=span] {
    display: block;
    float: left;
    width: 100%;
    margin-left: 2.762430939%;
    *margin-left: 2.7092394496%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .row-fluid [class*=span]:first-child {
    margin-left: 0;
  }
  .row-fluid .span12 {
    width: 99.999999993%;
    *width: 99.9468085036%;
  }
  .row-fluid .span11 {
    width: 91.436464082%;
    *width: 91.3832725926%;
  }
  .row-fluid .span10 {
    width: 82.872928171%;
    *width: 82.8197366816%;
  }
  .row-fluid .span9 {
    width: 74.30939226%;
    *width: 74.2562007706%;
  }
  .row-fluid .span8 {
    width: 65.745856349%;
    *width: 65.6926648596%;
  }
  .row-fluid .span7 {
    width: 57.182320438%;
    *width: 57.1291289486%;
  }
  .row-fluid .span6 {
    width: 48.618784527%;
    *width: 48.5655930376%;
  }
  .row-fluid .span5 {
    width: 40.055248616%;
    *width: 40.0020571266%;
  }
  .row-fluid .span4 {
    width: 31.491712705%;
    *width: 31.4385212156%;
  }
  .row-fluid .span3 {
    width: 22.928176794%;
    *width: 22.8749853046%;
  }
  .row-fluid .span2 {
    width: 14.364640883%;
    *width: 14.3114493936%;
  }
  .row-fluid .span1 {
    width: 5.801104972%;
    *width: 5.7479134826%;
  }
}
@media (min-width: 1280px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*=span] {
    display: block;
    float: left;
    width: 100%;
    margin-left: 2.564102564%;
    *margin-left: 2.5109110746%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .row-fluid [class*=span]:first-child {
    margin-left: 0;
  }
  .row-fluid .span12 {
    width: 100%;
    *width: 99.9468085106%;
  }
  .row-fluid .span11 {
    width: 91.452991453%;
    *width: 91.3997999636%;
  }
  .row-fluid .span10 {
    width: 82.905982906%;
    *width: 82.8527914166%;
  }
  .row-fluid .span9 {
    width: 74.358974359%;
    *width: 74.3057828696%;
  }
  .row-fluid .span8 {
    width: 65.811965812%;
    *width: 65.7587743226%;
  }
  .row-fluid .span7 {
    width: 57.264957265%;
    *width: 57.2117657756%;
  }
  .row-fluid .span6 {
    width: 48.717948718%;
    *width: 48.6647572286%;
  }
  .row-fluid .span5 {
    width: 40.170940171%;
    *width: 40.1177486816%;
  }
  .row-fluid .span4 {
    width: 31.623931624%;
    *width: 31.5707401346%;
  }
  .row-fluid .span3 {
    width: 23.076923077%;
    *width: 23.0237315876%;
  }
  .row-fluid .span2 {
    width: 14.52991453%;
    *width: 14.4767230406%;
  }
  .row-fluid .span1 {
    width: 5.982905983%;
    *width: 5.9297144936%;
  }
}
/* Clearfix */
.clearfix {
  *zoom: 1;
}

.clearfix:before, .clearfix:after {
  display: table;
  content: "";
}

.clearfix:after {
  clear: both;
}

/* Visibilty Classes */
.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
  visibility: hidden;
}

/* Responsive Visibilty Classes */
.visible-phone {
  display: none !important;
}

.visible-tablet {
  display: none !important;
}

.hidden-desktop {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-phone {
    display: inherit !important;
  }
  .hidden-phone {
    display: none !important;
  }
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1139px) {
  .visible-tablet {
    display: inherit !important;
  }
  .hidden-tablet {
    display: none !important;
  }
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
}
/* ===============================
   RESET WRAPPERS CTA (no visual)
   =============================== */
.button_cta,
.button_cta.button--outlined,
.button_cta.button--arrow,
.button_cta.button--filled {
  padding: 0;
  border: none;
  display: inline-block;
}
.button_cta:after,
.button_cta.button--outlined:after,
.button_cta.button--arrow:after,
.button_cta.button--filled:after {
  display: none;
}
@media (max-width: 767px) {
  .button_cta,
  .button_cta.button--outlined,
  .button_cta.button--arrow,
  .button_cta.button--filled { text-align: center; }
}

/* ===============================
   BASE TIPOGRAFÍA / LAYOUT
   =============================== */
:root{
  --btn-fs: 12px;
  --btn-py: 14px;
  --btn-px: 24px;
  --btn-radius: 9999px;
  --btn-g1: #6551E8;
  --btn-g2: #B34FED;
  --btn-contrast: #ffffff; /* usado para Dark */
}

button,
.button,
.button_cta a,
.widget-type-cta {
  font-family: "Inter", Inter, sans-serif;
  font-size: var(--btn-fs);
  font-weight: 600;
  line-height: 1;
  display: inline-grid;
  place-items: center;
  text-align: center;
  white-space: nowrap;
  user-select: none;
  height: auto;
  width: auto;
  margin: 0;
  position: relative;
  box-shadow: none;
  border-radius: var(--btn-radius);
  border: none;
  text-decoration: none;
  transition: color .3s ease, border-color .22s ease;
}

/* No subrayado en ningún estado */
button:hover, button:focus, button:active,
.button:hover, .button:focus, .button:active,
.button_cta a:hover, .button_cta a:focus, .button_cta a:active,
.widget-type-cta:hover, .widget-type-cta:focus, .widget-type-cta:active,
button a, .button a, .button_cta a a, .widget-type-cta a,
button a:hover, .button a:hover, .button_cta a a:hover, .widget-type-cta a:hover {
  text-decoration: none; color: inherit;
}

/* ===============================
   VARIANTE FILLED (gradiente)
   =============================== */
button.button--filled,
.button.button--filled,
.button_cta.button--filled a,
.widget-type-cta.button--filled {
  padding: var(--btn-py) var(--btn-px);
  color: #fff;
  background-image: linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%);
  background-size: 200% 100%;
  background-position: 0% 50%;
  will-change: background-position, background-image;
  transition: background-position .6s ease, background-image .3s ease, color .3s ease;
}
button.button--filled:hover,
button.button--filled:focus,
.button.button--filled:hover,
.button.button--filled:focus,
.button_cta.button--filled a:hover,
.button_cta.button--filled a:focus,
.widget-type-cta.button--filled:hover,
.widget-type-cta.button--filled:focus {
  background-image: linear-gradient(90deg, var(--btn-g2) 0%, var(--btn-g1) 100%);
  background-position: 100% 50%;
  color: #fff;
}
button.button--filled:active,
.button.button--filled:active,
.button_cta.button--filled a:active,
.widget-type-cta.button--filled:active {
  background-image: linear-gradient(90deg, var(--btn-g2) 0%, var(--btn-g1) 100%);
  background-position: 100% 50%;
  transition-duration: .4s; color:#fff;
}

/* Fallback: todo lo que NO sea outlined/arrow es filled */
button:not(.button--outlined):not(.button--arrow),
.button:not(.button--outlined):not(.button--arrow),
.button_cta a:not(.button--outlined):not(.button--arrow),
.widget-type-cta:not(.button--outlined):not(.button--arrow) {
  padding: var(--btn-py) var(--btn-px); color: #fff;
  background-image: linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%);
  background-size: 200% 100%; background-position: 0% 50%;
  will-change: background-position, background-image;
  transition: background-position .6s ease, background-image .3s ease, color .3s ease;
}
button:not(.button--outlined):not(.button--arrow):hover,
button:not(.button--outlined):not(.button--arrow):focus,
.button:not(.button--outlined):not(.button--arrow):hover,
.button:not(.button--outlined):not(.button--arrow):focus,
.button_cta a:not(.button--outlined):not(.button--arrow):hover,
.button_cta a:not(.button--outlined):not(.button--arrow):focus,
.widget-type-cta:not(.button--outlined):not(.button--arrow):hover,
.widget-type-cta:not(.button--outlined):not(.button--arrow):focus {
  background-image: linear-gradient(90deg, var(--btn-g2) 0%, var(--btn-g1) 100%);
  background-position: 100% 50%; color: #fff;
}

/* Deshabilitado */
button:disabled,
.button:disabled,
.button_cta a:disabled,
.widget-type-cta:disabled {
  background:#D0D0D0 !important; border:none !important; color:#E6E6E6 !important;
  cursor:not-allowed !important;
}

/* ===============================
   VARIANTE OUTLINED (igual tamaño que button_cta)
   - Fondo blanco
   - Texto en degradado (g1→g2)
   - Borde degradado 2px
   =============================== */
button.button--outlined,
.button.button--outlined,
.button_cta.button--outlined a,
.widget-type-cta.button--outlined {
  padding: var(--btn-py) var(--btn-px) !important;
  border-radius: var(--btn-radius);

  /* Fondo blanco */
  background-color: #fff !important;

  /* Texto degradado */
  background-image: linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;

  /* Borde degradado */
  border: 2px solid transparent !important;
  border-image: linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) 1 !important;

  transition: background-image .3s ease, border-image-source .3s ease, color .3s ease;
}
button.button--outlined:hover,
button.button--outlined:focus,
.button.button--outlined:hover,
.button.button--outlined:focus,
.button_cta.button--outlined a:hover,
.button_cta.button--outlined a:focus,
.widget-type-cta.button--outlined:hover,
.widget-type-cta.button--outlined:focus {
  background-image: linear-gradient(90deg, var(--btn-g2), var(--btn-g1)) !important;
  border-image: linear-gradient(90deg, var(--btn-g2), var(--btn-g1)) 1 !important;
}

/* ===============================
   VARIANTE ARROW (usa SVG ">")
   =============================== */
.button--arrow,
.button_cta.button--arrow a {
  background: none !important; border: none !important;
  color: #000000 !important;
  font-weight: 400 !important; /* sin negrita */
  font-size: calc(var(--btn-fs) + 1.5px) !important; /* +1.5px */
  text-decoration: none !important;
  display: inline-flex; align-items:center; justify-content:center;
  padding: calc(var(--btn-py) * .5) calc(var(--btn-px) * .5) !important;
  border-radius: var(--btn-radius);
}
.button--arrow::after,
.button_cta.button--arrow a::after {
  content:""; width:18px; height:18px; margin-left:8px; display:inline-block;
  background-repeat:no-repeat; background-position:center; background-size:18px 18px;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M7 4 L17 12 L7 20'/></svg>");
  transition: transform .15s linear, margin .15s linear;
}

/* Vaivén flecha en hover/focus */
@keyframes klx-arrow-oscillate {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(6px); }
  100% { transform: translateX(0); }
}
.button--arrow:hover::after,
.button--arrow:focus::after,
.button--arrow:active::after,
.button_cta.button--arrow a:hover::after,
.button_cta.button--arrow a:focus::after,
.button_cta.button--arrow a:active::after {
  animation: klx-arrow-oscillate 600ms ease-in-out infinite;
}

/* ===============================
   DESKTOP: padding “normal”
   =============================== */
@media (min-width: 768px) {
  /* normal desktop: 16x28 (incluye outlined) */
  button.button--filled,
  .button.button--filled,
  .button_cta.button--filled a,
  .widget-type-cta.button--filled,
  .button:not(.button--outlined):not(.button--arrow),
  .button_cta a:not(.button--outlined):not(.button--arrow),
  .widget-type-cta:not(.button--outlined):not(.button--arrow),
  .button--outlined,
  .button_cta.button--outlined a { padding: 16px 28px !important; }

  /* arrow desktop: 50% del normal (16x28 → 8x14) — se mantiene padding */
  .button--arrow,
  .button_cta.button--arrow a { padding: 8px 14px !important; }
}

/* =========================================================
   HAMBURGUESA: no aplicar estilos CTA y ocultar en desktop
   ========================================================= */
header button,
.header button,
.navbar button,
.site-header button,
.kl-header button,
.Navbar button,
.nav button,
.menu button,
.navbar-toggle,
.menu-toggle,
.hamburger,
.Navbar__toggle,
.kl-navbar__toggle,
.header__toggle,
.mobile-nav-toggle,
.nav-toggle,
button[aria-controls*="nav"],
button[aria-controls*="menu"] {
  background:none !important; background-image:none !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  text-decoration:none !important; padding:0 !important; margin:0 !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:auto !important; height:auto !important; color:inherit !important; font:inherit !important; line-height:inherit !important;
  transition:none !important; place-items: normal !important;
}
@media (min-width: 992px){
  .navbar-toggle, .menu-toggle, .hamburger, .Navbar__toggle, .kl-navbar__toggle,
  .header__toggle, .mobile-nav-toggle, .nav-toggle,
  button[aria-controls*="nav"], button[aria-controls*="menu"],
  .kl-navbar__mobile, .kl-navbar__mobile .kl-navbar__hamburger { display:none !important; }
}

/* =========================================================
   RICH TEXT CTAs (.kl-rich-text__buttons)
   - Desktop: fila; Móvil: stacked
   ========================================================= */
.kl-rich-text__buttons{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; text-align:center;
}
.kl-rich-text__buttons .button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  border-radius:var(--btn-radius); white-space:nowrap;
}
@media (min-width: 768px){
  .dnd_area-dnd_partial-1-module-1__primary_cta,
  [class*="__primary_cta"]{
    font-size: 15px !important;
    padding: 17.5px 30px !important;
    background-image: linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) !important;
    background-size:200% 100% !important;
    background-position:0% 50% !important;
    color:#fff !important;
    border:none !important;
  }
  .dnd_area-dnd_partial-1-module-1__primary_cta:hover,
  .dnd_area-dnd_partial-1-module-1__primary_cta:focus,
  [class*="__primary_cta"]:hover,
  [class*="__primary_cta"]:focus{
    background-image: linear-gradient(90deg, var(--btn-g2) 0%, var(--btn-g1) 100%) !important;
    background-position: 100% 50% !important;
    color:#fff !important;
  }

  .kl-rich-text__buttons .dnd_area-dnd_partial-1-module-1__secondary_cta.button--arrow{
    font-size: calc(12px + 1.5px) !important;
    font-weight: 400 !important;
    padding: 14px 24px !important; 
    background:transparent !important; border:none !important;
    color: #000000 !important;
  }
}
@media (max-width: 767px){
  .kl-rich-text__buttons{ flex-direction:column; align-items:center; }

  .dnd_area-dnd_partial-1-module-1__primary_cta,
  [class*="__primary_cta"]{
    font-size: 24px !important;
    padding: 28px 48px !important;
    margin-top: 10px !important; margin-left:auto !important; margin-right:auto !important;
    background-image: linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) !important;
    background-size:200% 100% !important;
    background-position:0% 50% !important;
    color:#fff !important; border:none !important;
  }
  .dnd_area-dnd_partial-1-module-1__primary_cta:hover,
  .dnd_area-dnd_partial-1-module-1__primary_cta:focus,
  [class*="__primary_cta"]:hover,
  [class*="__primary_cta"]:focus{
    background-image: linear-gradient(90deg, var(--btn-g2) 0%, var(--btn-g1) 100%) !important;
    background-position: 100% 50% !important;
  }

  .kl-rich-text__buttons .dnd_area-dnd_partial-1-module-1__secondary_cta.button--arrow{
    font-size: calc(12px + 1.5px) !important;
    font-weight: 400 !important;
    padding: 14px 24px !important;
    margin-top: 5px !important; margin-left:auto !important; margin-right:auto !important;
    background: transparent !important; border: none !important;
    color: #000000 !important;
  }
}

/* Chevron del secondary */
.kl-rich-text__buttons .dnd_area-dnd_partial-1-module-1__secondary_cta.button--arrow::after{
  content:""; display:inline-block; width:1.2em; height:1.2em; margin-left:.6em;
  background-repeat:no-repeat; background-position:center; background-size:100% 100%;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M7 4 L17 12 L7 20'/></svg>");
  vertical-align:middle;
}
.kl-rich-text__buttons .dnd_area-dnd_partial-1-module-1__secondary_cta.button--arrow:hover::after,
.kl-rich-text__buttons .dnd_area-dnd_partial-1-module-1__secondary_cta.button--arrow:focus::after{
  animation: klx-arrow-oscillate 600ms ease-in-out infinite;
}
.kl-rich-text__buttons .button > span{ display:inline-block; line-height:1; margin:0; padding:0; }
@media (max-width: 420px){ .kl-rich-text__buttons .button{ max-width:100%; } }

/* =========================================================
   NUEVO: MODO DARK por botón (PRIMARY / SECONDARY)
   Usa cualquiera de estos marcadores:
   - Añade clase  is-dark  al propio botón (__primary_cta / __secondary_cta)
   - O data-scheme="dark"
   - O envuélvelo en un contenedor con .is-dark-surface
   ========================================================= */

/* -------- FILLED (ya contrasta) — solo aseguramos texto blanco -------- */
.is-dark-surface [class*="__primary_cta"].button--filled,
.is-dark-surface [class*="__secondary_cta"].button--filled,
[class*="__primary_cta"].button--filled.is-dark,
[class*="__secondary_cta"].button--filled.is-dark,
[class*="__primary_cta"].button--filled[data-scheme="dark"],
[class*="__secondary_cta"].button--filled[data-scheme="dark"],
.is-dark-surface [class*="__primary_cta"].button_cta.button--filled a,
.is-dark-surface [class*="__secondary_cta"].button_cta.button--filled a,
[class*="__primary_cta"].button_cta.button--filled.is-dark a,
[class*="__secondary_cta"].button_cta.button--filled.is-dark a,
[class*="__primary_cta"].button_cta.button--filled[data-scheme="dark"] a,
[class*="__secondary_cta"].button_cta.button--filled[data-scheme="dark"] a{
  color: var(--btn-contrast) !important;
}

/* -------- OUTLINED (texto y borde blancos para máximo contraste) -------- */
/* type=btn (elemento es .button) */
.is-dark-surface [class*="__primary_cta"].button--outlined,
.is-dark-surface [class*="__secondary_cta"].button--outlined,
[class*="__primary_cta"].button--outlined.is-dark,
[class*="__secondary_cta"].button--outlined.is-dark,
[class*="__primary_cta"].button--outlined[data-scheme="dark"],
[class*="__secondary_cta"].button--outlined[data-scheme="dark"]{
  background: transparent !important;
  color: var(--btn-contrast) !important;
  -webkit-text-fill-color: var(--btn-contrast) !important;
  background-image: none !important;
  border: 2px solid var(--btn-contrast) !important;
  border-image: none !important;
}
/* type=cta (estilo va en el <a> interno) */
.is-dark-surface [class*="__primary_cta"].button_cta.button--outlined a,
.is-dark-surface [class*="__secondary_cta"].button_cta.button--outlined a,
[class*="__primary_cta"].button_cta.button--outlined.is-dark a,
[class*="__secondary_cta"].button_cta.button--outlined.is-dark a,
[class*="__primary_cta"].button_cta.button--outlined[data-scheme="dark"] a,
[class*="__secondary_cta"].button_cta.button--outlined[data-scheme="dark"] a{
  background: transparent !important;
  color: var(--btn-contrast) !important;
  -webkit-text-fill-color: var(--btn-contrast) !important;
  background-image: none !important;
  border: 2px solid var(--btn-contrast) !important;
  border-image: none !important;
}

/* -------- ARROW (texto + chevron blancos) -------- */
/* type=btn */
.is-dark-surface [class*="__primary_cta"].button--arrow,
.is-dark-surface [class*="__secondary_cta"].button--arrow,
[class*="__primary_cta"].button--arrow.is-dark,
[class*="__secondary_cta"].button--arrow.is-dark,
[class*="__primary_cta"].button--arrow[data-scheme="dark"],
[class*="__secondary_cta"].button--arrow[data-scheme="dark"]{
  color: var(--btn-contrast) !important;
}
/* type=cta */
.is-dark-surface [class*="__primary_cta"].button_cta.button--arrow a,
.is-dark-surface [class*="__secondary_cta"].button_cta.button--arrow a,
[class*="__primary_cta"].button_cta.button--arrow.is-dark a,
[class*="__secondary_cta"].button_cta.button--arrow.is-dark a,
[class*="__primary_cta"].button_cta.button--arrow[data-scheme="dark"] a,
[class*="__secondary_cta"].button_cta.button--arrow[data-scheme="dark"] a{
  color: var(--btn-contrast) !important;
}
/* chevron hereda currentColor */
#hubspot-messages-iframe-container {
  z-index: 13 !important;
}
@charset "UTF-8";
/* Form */
form, .submitted-message {
  font-family: Rubik, sans-serif;
}

.hs-form-field {
  margin: 0 0 1rem;
}

/* Labels */
form label {
  color: #000000;
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  padding-top: 0;
  margin-bottom: 0.35rem;
  text-align: left;
  width: auto;
}

/* Help text - legends */
form legend {
  color: #33475B;
  font-size: 0.875rem;
}

/* Inputs */
.input {
  position: relative;
}

input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=file],
select,
textarea {
  background-color: #FFF;
  border: 1px solid #DADADA;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: normal;
  padding: 0.75rem 1rem;
  width: 100%;
  border-color: #DADADA;
  color: #000000;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=file]:focus,
select:focus,
textarea:focus {
  outline: none;
  border: 1px solid #400ea2;
}

fieldset {
  max-width: 100% !important;
}
fieldset.form-columns-0, fieldset.form-columns-1, fieldset.form-columns-2, fieldset.form-columns-3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
fieldset.form-columns-0 > div, fieldset.form-columns-1 > div, fieldset.form-columns-2 > div, fieldset.form-columns-3 > div {
  width: 100%;
}
fieldset.form-columns-0 .hs-form-field, fieldset.form-columns-1 .hs-form-field, fieldset.form-columns-2 .hs-form-field, fieldset.form-columns-3 .hs-form-field {
  flex-grow: 1;
  flex-basis: 135px;
}
fieldset.form-columns-0 .hs-form-field .input, fieldset.form-columns-1 .hs-form-field .input, fieldset.form-columns-2 .hs-form-field .input, fieldset.form-columns-3 .hs-form-field .input {
  margin-right: 0;
}
fieldset.form-columns-0 .hs-form-field .hs-input, fieldset.form-columns-1 .hs-form-field .hs-input, fieldset.form-columns-2 .hs-form-field .hs-input, fieldset.form-columns-3 .hs-form-field .hs-input {
  width: 100% !important;
  /* Style specifically for the international phone selector */
}
fieldset.form-columns-0 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-1 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-2 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-3 .hs-form-field .hs-input.hs-fieldtype-intl-phone {
  display: flex;
  align-items: center;
}
fieldset.form-columns-0 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-1 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-2 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-3 .hs-form-field .hs-input.hs-fieldtype-intl-phone select {
  flex: 1 1 25%;
  margin-right: 10px;
}
fieldset.form-columns-0 .hs-form-field input[type=checkbox],
fieldset.form-columns-0 .hs-form-field input[type=radio], fieldset.form-columns-1 .hs-form-field input[type=checkbox],
fieldset.form-columns-1 .hs-form-field input[type=radio], fieldset.form-columns-2 .hs-form-field input[type=checkbox],
fieldset.form-columns-2 .hs-form-field input[type=radio], fieldset.form-columns-3 .hs-form-field input[type=checkbox],
fieldset.form-columns-3 .hs-form-field input[type=radio] {
  width: auto !important;
}

/* Form placeholder text */
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
::placeholder,
.hs-fieldtype-date .input .hs-dateinput:before {
  color: #E4E4E4;
}

/* Inputs - checkbox/radio */
form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.inputs-list > li {
  display: block;
  margin: 0.7rem 0;
  padding: 0;
  width: 100%;
}

.inputs-list input,
.inputs-list span {
  font-size: 0.875rem;
  vertical-align: middle;
}

.hs-input[type=checkbox],
.hs-input[type=radio] {
  border: none;
  cursor: pointer;
  height: auto;
  line-height: normal;
  margin-right: 0.35rem;
  padding: 0;
  width: auto;
}
.hs-input[type=checkbox] + label,
.hs-input[type=radio] + label {
  display: inline-block;
  vertical-align: top;
}

/* Inputs - datepicker */
.hs-fieldtype-date .input .hs-dateinput:before {
  color: #E4E4E4;
  content: "📅";
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.fn-date-picker button, .fn-date-picker .button {
  min-width: auto;
}
.fn-date-picker .pika-table thead th {
  color: #FFF;
  background-color: #400ea2;
}
.fn-date-picker td.is-today .pika-button {
  color: #400ea2;
}
.fn-date-picker td.is-selected .pika-button {
  background: #400ea2;
  border-radius: 0;
  box-shadow: none;
}
.fn-date-picker td .pika-button:hover {
  background: #400ea2 !important;
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */
input[type=file] {
  background-color: transparent;
  border: initial;
  box-shadow: none;
  line-height: initial;
  padding: initial;
}

/* Headings and text */
form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

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

form .header {
  background-color: transparent;
  border: none;
}

h3.form-title {
  color: #000000;
}

/* GDPR */
.legal-consent-container {
  margin: 0;
}
.legal-consent-container .hs-form-booleancheckbox-display > span, .legal-consent-container .hs-form-booleancheckbox-display > span p {
  font-size: 0.875rem;
}

/* Validation */
.hs-form-required {
  color: red;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
  font-weight: normal;
}

/* Submit button */
form input[type=submit],
form .hs-button {
  background-color: rgba(64, 14, 162, 1.0);
  border: 1px solid rgba(64, 14, 162, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: Inter, sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
}
form input[type=submit]:hover, form input[type=submit]:focus, form input[type=submit]:active,
form .hs-button:hover,
form .hs-button:focus,
form .hs-button:active {
  background-color: rgba(59, 102, 201, 1.0);
  border-color: rgba(59, 102, 201, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}
form input[type=submit]:disabled,
form .hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}
form input[type=submit] a,
form .hs-button a {
  color: rgba(255, 255, 255, 1);
}
form input[type=submit] a:hover,
form .hs-button a:hover {
  color: white;
  text-decoration: none;
}

/* Captcha */
.grecaptcha-badge {
  margin: 0;
  max-width: 100%;
}
body {
  scroll-behavior: auto;
}
/* Table */
table {
  background-color: rgba(255, 255, 255, 1.0);
  border: 1px solid #000000;
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

tbody + tbody {
  border-top: 2px solid #000000;
}

/* Table Cells */
th,
td {
  border: 1px solid #000000;
  color: #000000;
  padding: 0.75rem;
  vertical-align: top;
}

/* Table Header */
thead th,
thead td {
  background-color: rgba(64, 14, 162, 1);
  color: #FFFFFF;
  vertical-align: bottom;
}

/* Table footer */
tfoot td {
  background-color: rgba(255, 255, 255, 1.0);
  color: #000000;
}
.kl-tooltip {
  position: relative;
}
.kl-tooltip > div {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  min-width: 120px;
  left: -22px;
  width: max-content;
  display: block;
  max-width: 360px;
  border-radius: 6px;
  padding: 20px 16px;
  margin-top: 12px;
  background-color: white;
  z-index: 9;
  box-shadow: 0 8px 40px 0px #e6e6e6;
}
.kl-tooltip > div:after {
  content: " ";
  position: absolute;
  bottom: 100%; /* At the top of the tooltip */
  left: 32px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent white transparent;
}
.kl-tooltip:hover > div {
  visibility: visible;
  opacity: 1;
}
.kl-tooltip--dark > div {
  background-color: black;
}
.kl-tooltip--dark > div h1, .kl-tooltip--dark > div h2, .kl-tooltip--dark > div h3, .kl-tooltip--dark > div h4, .kl-tooltip--dark > div h5, .kl-tooltip--dark > div h6, .kl-tooltip--dark > div p {
  color: white;
}
.kl-tooltip--dark > div:after {
  border-color: transparent transparent black transparent;
}
html {
  font-size: 16px;
}

body {
  font-family: Inter, sans-serif;
  color: #000000;
  margin: 0;
  line-height: 1.4;
  word-break: break-word;
}

/* Exponer el line-height base del tema como variable para cálculos responsive */
:root{
  --klx-body-lh: 1.375; /* normalmente unitless, p.ej. 1.6 */
}

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

/* Paragraphs */
p {
  font-size: 16px;
  line-height: 1.375;
  margin: 0 0 1.4rem;
}

strong {
  font-weight: 700;
}

/* Anchors */
a {
  color: #0270e0;
  cursor: pointer;
  text-decoration: none;
}

a:hover, a:focus {
  text-decoration: underline;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Rubik, serif;
  font-weight: 700;
  margin: 0 0 1.4rem;
}

h1 {
  font-family: Rubik, sans-serif;
  font-size: 40px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h2 {
  font-family: Rubik, sans-serif;
  font-size: 32px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h3 {
  font-family: Rubik, sans-serif;
  font-size: 24px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h4 {
  font-family: Rubik, sans-serif;
  /* Mantenemos el tamaño igual al h3 (si lo deseas distinto, dímelo) */
  font-size: 24px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  /* Forzar SIN subrayado */
  text-decoration: none !important;
}

h5 {
  font-family: Rubik, sans-serif;
  font-size: 14px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

h6 {
  font-family: Rubik, sans-serif;
  font-size: 12px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

/* ============================
   Overrides solicitados
   ============================ */

/* H2 y H3 sin negrita (global). Incluye <b>/<strong> dentro del heading */
h2, h3 { font-weight: 400 !important; }
h2 b, h2 strong, h3 b, h3 strong { font-weight: inherit !important; }

/* h2 y h3: aumentar interlineado +2px (separación vertical entre líneas) */
h2, h3 {
  line-height: calc(1.2em + 2px) !important;
}

/* h3: +2px tamaño, color suavizado, y centrado */
h3 {
  font-size: calc(24px + 2px) !important;
  color: color-mix(in srgb, #000000 90%, white 10%) !important;
  text-align: center !important;
}

/* Subrayado difuminado para H2, extendido 40% más que el texto (20% por lado)
   y H2 centrado */
h2{
  position: relative !important;
  display: block !important;
  width: -moz-fit-content;            /* Firefox */
  width: fit-content !important;      /* otros navegadores */
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-decoration: none !important;   /* evita conflictos */
}
h2::after {
  content: "" !important;
  position: absolute !important;
  left: -20% !important;              /* +20% a la izquierda */
  width: 140% !important;             /* 100% del texto + 40% extra */
  bottom: -2px !important;            /* justo bajo el texto */
  height: 4px !important;             /* grosor solicitado */
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    rgba(64, 14, 162, 0) 0%,
    rgba(64, 14, 162, 0.00) 15%,
    rgba(64, 14, 162, 0.60) 50%,   /* 60% de carga al centro */
    rgba(64, 14, 162, 0.00) 85%,
    rgba(64, 14, 162, 0) 100%
  ) !important;
  border-radius: 2px !important;      /* bordes suaves del subrayado */
}

/* ===== Móvil ===== */
@media (max-width: 767px){
  /* p: +1px de interlineado para evitar solapes */
  p{
    line-height: calc(var(--klx-body-lh) * 1em + 1px) !important;
  }

  /* h2: reducir tamaño un 25% en móvil */
  h2{
    font-size: calc(32px * 0.75) !important;
  }
}

/* Lists */
ul,
ol {
  margin: 0 0 1.5rem;
  padding: 0 0 0 1.1rem;
}

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

ul.no-list {
  list-style: none;
}

/* Code blocks */
code {
  vertical-align: bottom;
}

/* Blockquotes */
blockquote {
  border-left: 2px solid #EEBC46;
  margin: 0 0 1.4rem;
  padding-left: 15px;
}

/* Horizontal rules */
hr {
  background-color: #CCC;
  border: none;
  color: #CCC;
  height: 1px;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Focus styles */
:focus {
  outline: auto;
  outline-color: #400ea2;
}

.disable-focus-styles :focus {
  outline: none;
}
/* Blog subscribe */
.blog-subscribe {
  background-color: #F0F5FF;
  padding: 80px 0;
}
.blog-subscribe__wrapper {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .blog-subscribe__wrapper {
    display: block;
  }
}
.blog-subscribe__header {
  flex-basis: 465px;
  flex-grow: 1;
  max-width: 680px;
}
.blog-subscribe__form {
  flex-basis: 450px;
  margin-left: 32px;
}
@media screen and (max-width: 768px) {
  .blog-subscribe__form {
    margin: 32px 0 0;
  }
}
.kl-card-grid > div {
  display: flex;
  flex-wrap: wrap;
  margin: -26px;
}
.kl-card-grid__card-wrapper {
  display: flex;
  flex-basis: 33.3333333333%;
  padding: 26px;
}
@media screen and (max-width: 768px) {
  .kl-card-grid__card-wrapper {
    flex-basis: 50%;
  }
}
@media screen and (max-width: 520px) {
  .kl-card-grid__card-wrapper {
    flex-basis: 100%;
  }
}
.kl-card-grid__card {
  width: 100%;
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  background-color: rgba(255, 255, 255, 1.0);
  border-radius: 9px;
  overflow: hidden;
}
.kl-card-grid__image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  height: 260px;
  width: 100%;
}
.kl-card-grid__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 0.5rem;
}
.kl-card-grid__content {
  display: block;
  padding: 20px 24px;
  color: #000000;
  text-decoration: none;
}
.kl-card-grid__content h3, .kl-card-grid__content h4 {
  margin: 0 0 0.5rem;
}
.kl-card-grid__content p {
  margin: 0;
}
.kl-card-grid__content:hover, .kl-card-grid__content:focus {
  color: #000000;
  text-decoration: none;
}
.kl-card-grid--4-columns > div {
  margin: -24px -12px;
}
.kl-card-grid--4-columns .kl-card-grid__card-wrapper {
  flex-basis: 25%;
  padding: 24px 12px;
}
@media screen and (max-width: 920px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: 33.3333333333%;
  }
}
@media screen and (max-width: 768px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: 50%;
  }
}
@media screen and (max-width: 520px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: 100%;
  }
}
.kl-card-grid--4-columns .kl-card-grid__image {
  height: 220px;
}
.kl-cards-slider {
  position: relative;
  max-width: 848px;
  margin: 0 auto;
}
.kl-cards-slider-wrapper {
  padding: 0 15px;
}
.kl-cards-slider__arrow {
  position: absolute;
  top: 20px;
  display: block;
  width: 30px;
  height: 30px;
  padding: 8px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kl-cards-slider__arrow svg {
  fill: #3A3A3A;
  display: block;
  width: 100%;
}
.kl-cards-slider__arrow--prev {
  left: 0;
  transform: translateX(-50%);
}
.kl-cards-slider__arrow--next {
  right: 0;
  transform: translateX(50%);
}
.kl-cards-slider__card {
  display: none;
  overflow: hidden;
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  border-radius: 9px;
}
.kl-cards-slider__card--active {
  display: block;
}
.kl-cards-slider__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #F3F3F3;
  padding: 16px 48px;
}
@media screen and (max-width: 360px) {
  .kl-cards-slider__header {
    display: block;
    padding: 16px 32px;
  }
}
.kl-cards-slider__image {
  margin: 0 15% 0 0;
}
.kl-cards-slider__button {
  display: flex;
}
@media screen and (max-width: 360px) {
  .kl-cards-slider__button {
    margin: 16px 0 0;
  }
}
.kl-cards-slider__content {
  padding: 16px 48px;
  background-color: rgba(255, 255, 255, 1.0);
  margin: 0 -22px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 360px) {
  .kl-cards-slider__content {
    padding: 16px 32px;
  }
}
@media screen and (max-width: 580px) {
  .kl-cards-slider__content {
    display: block;
  }
}
.kl-cards-slider__content > div {
  margin: 0 22px;
  flex-grow: 1;
  flex-basis: 200px;
}
.kl-cards-slider__content h5 {
  color: #400ea2;
}
.kl-cards-slider__content ul {
  padding-inline-start: 1.1em;
}
.kl-custom-anchor {
  scroll-margin-top: 82px;
}
.kl-custom-image {
  display: block;
}
.kl-custom-image img {
  display: block;
}
.kl-custom-image--center img {
  margin: 0 auto;
}
.kl-custom-image--right img {
  margin: 0 0 0 auto;
}
/* =========================================================
   CTA DESTACADA (banner previo al footer)
   ========================================================= */
.kl-cta-banner{
  padding: 32px 0;
}

.kl-cta-banner__inner{
  /* Layout base SIN colores/bordes/radios por defecto
     (todo eso viene de box_style inline si el admin lo define) */
  --cta-radius: 0;         /* por defecto 0: solo se redondea si el inline lo indica */
  --cta-pad-x: 28px;
  --cta-pad-y: 28px;

  max-width: 1240px;
  margin: 0 auto;
  border-radius: var(--cta-radius); /* respeta 0 si no viene desde inline */
  box-shadow: none;
  overflow: hidden;
  position: relative;
  padding: var(--cta-pad-y) var(--cta-pad-x);
  background: none;
  color: inherit;
}

/* ===========================
   Colores configurables (desde inline vars)
   =========================== */

/* TEXT COLOR (si está definido) */
.kl-cta-banner__inner[style*="--cta-text-color"] :where(.kl-rich-text,.hs-richtext){
  color: var(--cta-text-color) !important;
}
.kl-cta-banner__inner[style*="--cta-text-color"] :where(.kl-rich-text,.hs-richtext) :is(p,li,ol,ul,div,span,small,strong,em,a:not(.button)){
  color: var(--cta-text-color) !important;
}

/* TITLE COLOR (si está definido) — prioridad sobre text_color */
.kl-cta-banner__inner[style*="--cta-title-color"] :where(.kl-rich-text,.hs-richtext) :is(h1,h2,h3,h4,h5,h6){
  color: var(--cta-title-color) !important;
  -webkit-text-fill-color: var(--cta-title-color) !important; /* Safari */
  background-image: none !important;
}

/* ===========================
   H1 siempre a la izquierda
   =========================== */
.kl-cta-banner__inner :where(.kl-rich-text,.hs-richtext) h1{
  text-align: left !important;
  justify-self: start !important;
}

/* ===========================
   Alineación (modo horizontal)
   =========================== */
.kl-cta-banner__inner.is-center .kl-cta-banner__rich{ justify-items: center; text-align: center; }
.kl-cta-banner__inner.is-left   .kl-cta-banner__rich{ justify-items: start;  text-align: left; }
.kl-cta-banner__inner.is-right  .kl-cta-banner__rich{ justify-items: end;    text-align: right; }

/* Grid interno base */
.kl-cta-banner__rich{ display: grid; gap: 16px; }

/* =========================================================
   BOTONERA: siempre centrada dentro del propio div
   (refuerzo global con !important)
   ========================================================= */
.kl-cta-banner .kl-rich-text__buttons{
  margin: 0;
  display: flex !important;
  flex-wrap: nowrap;
  gap: 12px;
  justify-content: center !important;    /* centrar horizontal */
  align-items: center !important;        /* centrar vertical si hay altura */
  text-align: center;
}

/* TODOS los hijos directos dentro de la botonera: centrados y sin estirarse */
.kl-cta-banner .kl-rich-text__buttons > *{
  align-self: center !important;
  margin: 0 auto !important;
  text-align: center !important;
  max-width: 100%;
}

/* Asegurar ancho/visual de los distintos tipos de botón */
.kl-cta-banner .kl-rich-text__buttons :is(.button, .button_cta, .button_cta a, .widget-type-cta){
  width: auto !important;
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
}

/* Refuerzo específico por clase del módulo (primary/secondary) */
.kl-cta-banner .kl-rich-text__buttons :is([class*="__primary_cta"], [class*="__secondary_cta"]){
  align-self: center !important;
  margin: 0 auto !important;
}

/* ======== MENSAJE del Primary CTA (nuevo) ======== */
.kl-cta-banner .kl-primary-message{
  margin: 3px 0 0 0;  /* superior 3px, inferior 0 */
  text-align: center;
  line-height: 1.4;
  font-size: 0.6em;   /* 40% menos */
  display: block;
}

/* Colores según contraste */
.kl-cta-banner .kl-primary-message.is-contrast-standar{ color: #D1D5DB; } /* gris claro */
.kl-cta-banner .kl-primary-message.is-contrast-dark{ color: #FFFFFF; }    /* blanco */

/* =========================================================
   ORIENTACIÓN: VERTICAL (2 columnas 70/30 en desktop)
   - Izquierda: headings + párrafos
   - Derecha: Primary CTA + mensaje + Secondary CTA (centrados en medio)
   ========================================================= */
.kl-cta-banner__inner.is-vertical .kl-cta-banner__rich{
  display: grid;
  grid-template-columns: 70% 30%;
  gap: 16px 24px;
  align-items: stretch;         /* da altura a la col derecha */
  text-align: left;
  justify-items: stretch;
}

/* Hijos del rich text entran al grid */
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext){
  display: contents;
}

/* Columna izquierda: headings y párrafos (y listas) */
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is(h1,h2,h3,h4,h5,h6,p,ul,ol){
  grid-column: 1;
  align-self: start;
}
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is(h1,h2,h3,h4,h5,h6){ margin: 0 0 .25rem 0; }
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is(p,ul,ol){ margin: 0 0 1rem 0; }

/* Columna derecha: BOTONERA centrada en el medio (H y V) */
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) .kl-rich-text__buttons{
  grid-column: 2;
  grid-row: 1 / -1;                       /* ocupa toda la altura */
  place-self: center !important;          /* centra el bloque en su celda */
  display: flex !important;
  flex-direction: column;                 /* apilar: primary > mensaje > secondary */
  justify-content: center !important;     /* centrar verticalmente contenido */
  align-items: center !important;         /* centrar horizontalmente contenido */
  gap: 10px;
}

/* Fallback: si los CTAs aparecen sueltos (sin .kl-rich-text__buttons) */
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is([class*="__primary_cta"], [class*="__secondary_cta"]){
  grid-column: 2 !important;
  justify-self: center !important;
  align-self: start;
  margin: 0;
}
.kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is(.button_cta[class*="__primary_cta"], .button_cta[class*="__secondary_cta"], .widget-type-cta[class*="__primary_cta"], .widget-type-cta[class*="__secondary_cta"]){
  grid-column: 2 !important;
  justify-self: center !important;
}

/* =========================================================
   BOTONES (outlined fix)
   ========================================================= */

/* Asegurar radio en cualquier botón del módulo */
.kl-cta-banner .button,
.kl-cta-banner .button_cta a,
.kl-cta-banner .widget-type-cta{
  border-radius: var(--btn-radius, 9999px) !important;
}

/* Refuerzo específico para el secundario */
.kl-cta-banner [class*="__secondary_cta"].button,
.kl-cta-banner [class*="__secondary_cta"].button_cta a,
.kl-cta-banner [class*="__secondary_cta"].widget-type-cta{
  border-radius: var(--btn-radius, 9999px) !important;
}

/* OUTLINED (btn) */
.kl-cta-banner a.button.button--outlined[class*="__primary_cta"],
.kl-cta-banner a.button.button--outlined[class*="__secondary_cta"],
.kl-cta-banner .button.button--outlined[class*="__primary_cta"],
.kl-cta-banner .button.button--outlined[class*="__secondary_cta"]{
  padding: var(--btn-py) var(--btn-px) !important;
  border-radius: var(--btn-radius, 9999px) !important;
  border: 2px solid transparent !important;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) border-box !important;
  color: transparent !important;
}
.kl-cta-banner a.button.button--outlined[class*="__primary_cta"] > span,
.kl-cta-banner a.button.button--outlined[class*="__secondary_cta"] > span,
.kl-cta-banner .button.button--outlined[class*="__primary_cta"] > span,
.kl-cta-banner .button.button--outlined[class*="__secondary_cta"] > span{
  display: inline-block;
  background-image: linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.kl-cta-banner a.button.button--outlined[class*="__primary_cta"]:hover,
.kl-cta-banner a.button.button--outlined[class*="__secondary_cta"]:hover,
.kl-cta-banner .button.button--outlined[class*="__primary_cta"]:hover,
.kl-cta-banner .button.button--outlined[class*="__secondary_cta"]:hover,
.kl-cta-banner a.button.button--outlined[class*="__primary_cta"]:focus,
.kl-cta-banner a.button.button--outlined[class*="__secondary_cta"]:focus,
.kl-cta-banner .button.button--outlined[class*="__primary_cta"]:focus,
.kl-cta-banner .button.button--outlined[class*="__secondary_cta"]:focus{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, var(--btn-g2), var(--btn-g1)) border-box !important;
}

/* OUTLINED — CTA HubSpot */
.kl-cta-banner .button_cta.button--outlined[class*="__primary_cta"] a,
.kl-cta-banner .button_cta.button--outlined[class*="__secondary_cta"] a,
.kl-cta-banner .widget-type-cta.button--outlined[class*="__primary_cta"],
.kl-cta-banner .widget-type-cta.button--outlined[class*="__secondary_cta"]{
  padding: var(--btn-py) var(--btn-px) !important;
  border-radius: var(--btn-radius, 9999px) !important;
  border: 2px solid transparent !important;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) border-box !important;
  color: transparent !important;
}
.kl-cta-banner .button_cta.button--outlined[class*="__primary_cta"] a > span,
.kl-cta-banner .button_cta.button--outlined[class*="__secondary_cta"] a > span,
.kl-cta-banner .widget-type-cta.button--outlined[class*="__primary_cta"] > span,
.kl-cta-banner .widget-type-cta.button--outlined[class*="__secondary_cta"] > span{
  display: inline-block;
  background-image: linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* ===========================
   Responsive
   =========================== */
@media (min-width: 992px){
  .kl-cta-banner__inner{
    --cta-pad-x: 40px;
    --cta-pad-y: 40px;
  }
  .kl-cta-banner__rich{ gap: 18px; }
}

/* Vertical → en móvil: 1 columna; botones centrados igualmente */
@media (max-width: 768px){
  .kl-cta-banner{ padding: 24px 0; }
  .kl-cta-banner__inner{ --cta-pad-x: 20px; --cta-pad-y: 22px; }

  .kl-cta-banner__inner.is-vertical .kl-cta-banner__rich{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) :is(h1,h2,h3,h4,h5,h6,p,ul,ol,.kl-rich-text__buttons,[class*="__primary_cta"],[class*="__secondary_cta"]){
    grid-column: 1 !important;
  }
  /* Botonera + mensaje centrados también en móvil */
  .kl-cta-banner__inner.is-vertical :where(.kl-rich-text,.hs-richtext) .kl-rich-text__buttons{
    grid-row: auto;
    place-self: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .kl-cta-banner .kl-rich-text__buttons{ gap: 10px; }
}

/* Compatibilidad */
.kl-cta-banner .kl-rich-text{ max-width: 100% !important; margin: 0 auto; }
.kl-cta-banner .kl-rich-text--center{ text-align: inherit; margin: 0 auto; }
.kl-cta-banner .kl-rich-text--right{ text-align: inherit; margin: 0 auto; }
/* ============================
   FAQ (TIDIO-like) — Reemplazo
   ============================ */

/* Contenedor con borde sutil y sin sombra */
.kl-faq{
  --klx-faq-sep: #e3e8f0;                 /* gris claro para separador */
  --klx-faq-border: #f1f4f9;              /* borde contenedor */
  /* Tamaño base del h3 global (+2px si lo tienes aplicado en el sitio) para calcular el -30% aquí */
  --klx-h3-global-size: calc(24px + 2px);

  background:#fff !important;
  border: 1px solid var(--klx-faq-border) !important;
  border-radius:16px !important;
  box-shadow:none !important;
}

/* Cada entrada posicionada para el separador custom */
.kl-faq__entry{
  position: relative !important;
}

/* Sin separadores “clásicos” entre entradas */
.kl-faq__entry + .kl-faq__entry{
  border-top:0 !important;
}

/* Separador inferior degradado (no ocupa todo el ancho) */
.kl-faq__entry:not(:last-child)::after{
  content:"";
  position:absolute !important;
  left:4% !important;
  width:92% !important;                 /* no de lado a lado */
  bottom:0 !important;
  height:1px !important;
  pointer-events:none !important;
  background: linear-gradient(
    90deg,
    rgba(227,232,240,0) 0%,
    rgba(227,232,240,0.85) 50%,
    rgba(227,232,240,0) 100%
  ) !important;
}

/* Cabecera: compacta, clicable */
.kl-faq__header{
  padding:20px 24px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  cursor:pointer !important;
  transition:background .18s ease !important;
}
@media (max-width:480px){
  .kl-faq__header{ padding:18px 16px !important; }
}

/* Títulos dentro de la cabecera:
   - NO tocar color (hereda del sitio)
   - Reducimos SOLO el tamaño del h3 en -30% respecto al global */
.kl-faq__header h3{
  margin:0 !important;
  font-weight:400 !important;
  line-height:1.35 !important;
  font-size: calc(var(--klx-h3-global-size) * 0.7) !important; /* -30% */
}
.kl-faq__header h4{
  margin:0 !important;
  font-weight:400 !important;
  line-height:1.35 !important;
}

/* Icono “+” → “–” con animación suave */
.kl-faq__icon{
  position:relative !important;
  width:18px !important;
  height:18px !important;
  flex-shrink:0 !important;
  margin-left:16px !important;
  color:currentColor !important;
  transition:transform .22s ease !important;
}
.kl-faq__icon:before,
.kl-faq__icon:after{
  content:"";
  position:absolute !important;
  background-color: currentColor !important;
  border-radius:1px !important;
}
.kl-faq__icon:before{           /* barra horizontal */
  top:50% !important; left:0 !important; right:0 !important;
  height:2px !important;
  transform:translateY(-50%) !important;
  transition:opacity .18s ease !important;
}
.kl-faq__icon:after{            /* barra vertical */
  left:50% !important; top:0 !important; bottom:0 !important;
  width:2px !important;
  transform:translateX(-50%) !important;
}

/* Estado activo: “+” → “–” */
.kl-faq__entry--active .kl-faq__icon{
  transform:rotate(90deg) !important;
}
.kl-faq__entry--active .kl-faq__icon:before{
  opacity:0 !important;
}

/* Descripción colapsable
   IMPORTANTE: NO usar !important en height para no bloquear el JS */
.kl-faq__description{
  padding:0 24px !important;
  height:0;                      /* el JS del módulo ajusta la altura inline */
  overflow:hidden !important;
  transition:height .25s ease, opacity .2s ease !important;
  opacity:.98 !important;
}
@media (max-width:480px){
  .kl-faq__description{ padding:0 16px !important; }
}

/* Contenido interno */
.kl-faq__description .kl-faq__inner{
  margin:0 0 1rem !important;
  line-height:1.6 !important;
}

/* Quitar posibles separadores/ornamentos que añadan otros estilos */
.kl-faq hr,
.kl-faq .divider,
.kl-faq::before,
.kl-faq::after{
  display:none !important;
}

/* Accesibilidad: reducir animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce){
  .kl-faq__icon,
  .kl-faq__description{
    transition:none !important;
  }
}

/* ====== MÓVIL: h2 y h3 alineados a la izquierda en el bloque FAQ ====== */
@media (max-width: 767px){
  .kl-faq h2,
  .kl-faq h3{
    text-align: left !important;   /* solo alineación; SIN tocar tamaño/color */
  }
  .kl-faq h2{
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}
/* ============================
   PRODUCT FEATURES (TIDIO-like)
   — Menú OUTLINED + imágenes al final y 100% —
   ============================ */

:root{
  --btn-g1:#6551E8;
  --btn-g2:#B34FED;
}

/* ===== Fallback si NO se aplica el JS (pinta el markup original) ===== */
.kl-features-01{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px,1fr));
  gap: 24px;
}
.kl-features-01__card{
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  padding:24px;
  transition:box-shadow .25s ease, transform .25s ease;

  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.kl-features-01__card:hover,
.kl-features-01__card:focus-within{
  transform: translateY(-2px);
  box-shadow:0 14px 38px rgba(0,0,0,.1);
}

.kl-features-01__card h4{
  margin:0 0 .5rem;
  font-weight:400;
  letter-spacing:-0.015em;
  color:#6645ed;
  font-size:clamp(1.1rem, 1rem + .6vw, 1.4rem);
}
.kl-features-01__card p{
  margin:0;
  line-height:1.6;
}

/* Imágenes SIEMPRE al final, 100% ancho, altura natural */
.kl-features-01__card > h4 { order: 1; }
.kl-features-01__card > p  { order: 2; }
.kl-features-01__card > .kl-features-01__image{
  order: 99;
  margin:14px 0 0 !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.kl-features-01__card > .kl-features-01__image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
}

/* =========================================================
   FEATURES SELECTOR (tabs/accordion) — menú outlined + icono
   ========================================================= */

/* Layout desktop: menú 35% / contenido 65% */
.features-selector{
  display: grid;
  grid-template-columns: 35% 65%;
  gap: 24px;
  width: 100%;
  align-items: stretch;
}

/* Menú vertical (tabs) */
.features-selector__menu{
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: visible;
}

/* ---------- FS-TAB OUTLINED (con icono flecha a la derecha) ---------- */
.features-selector__menu .fs-tab{
  position: relative;
  width: 100%;
  appearance: none;
  cursor: pointer;

  background: transparent !important;
  color: #6645ed !important;
  border: 2px solid #6645ed !important;
  border-radius: 16px;

  font: 600 20px/1.25 "Inter","Helvetica Neue",Arial,sans-serif;
  padding: 20px 48px 20px 24px !important; /* deja sitio al icono */
  text-align: left;
  white-space: normal;

  box-shadow: none !important;
  transition:
    border-color .22s ease,
    color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease,
    transform .18s ease;
  will-change: transform, box-shadow;
}

/* Flecha: SVG en background — púrpura por defecto */
.features-selector__menu .fs-tab::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 20px; height: 20px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236645ed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M9 6l6 6-6 6'/></svg>");
}

/* Hover */
.features-selector__menu .fs-tab:hover{
  background: rgba(102,69,237,0.06) !important;
  border-color: #6551E8 !important;
  color: #6551E8 !important;
  box-shadow: 0 4px 10px rgba(101,81,232,.10);
}
.features-selector__menu .fs-tab:hover::after{
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236551E8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M9 6l6 6-6 6'/></svg>");
}
.features-selector__menu .fs-tab:active{ transform: scale(.985); }

/* ---------- SELECCIONADO (DESKTOP): degradado + borde idéntico + flecha blanca ---------- */
/* Mayor especificidad y uso de 'background' (no solo background-image) */
.features-selector .features-selector__menu .fs-tab[aria-selected="true"],
.features-selector__menu .fs-tab.is-active,
.features-selector__menu .fs-tab[aria-pressed="true"],
.features-selector__menu .fs-tab[aria-current="true"]{
  color:#ffffff !important;

  /* doble fondo: mismo degradado para relleno y borde (sin costura) */
  background:
    linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) padding-box,
    linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) border-box !important;
  border: 2px solid transparent !important;

  box-shadow: 0 10px 22px rgba(101,81,232,.22);
}
.features-selector .features-selector__menu .fs-tab[aria-selected="true"]::after,
.features-selector__menu .fs-tab.is-active::after,
.features-selector__menu .fs-tab[aria-pressed="true"]::after,
.features-selector__menu .fs-tab[aria-current="true"]::after{
  /* flecha blanca cuando está marcado */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<path d='M9 6l6 6-6 6'/></svg>");
}
/* Mantener degradado también al hover/focus del seleccionado */
.features-selector .features-selector__menu .fs-tab[aria-selected="true"]:hover,
.features-selector .features-selector__menu .fs-tab[aria-selected="true"]:focus{
  color:#ffffff !important;
  background:
    linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) padding-box,
    linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) border-box !important;
  border: 2px solid transparent !important;
}

/* Foco accesible (si no está seleccionado) */
.features-selector__menu .fs-tab:focus{
  outline: 2px solid #B7A6FF;
  outline-offset: 2px;
}
.features-selector__menu .fs-tab[aria-selected="true"]:focus{
  outline: none;
}

/* ---------- Paneles (desktop/tablet) ---------- */
.features-selector__content{ position: relative; }
.fs-panel{
  overflow: hidden;
  opacity: 0;
  transform: translateY(4px);
  filter: blur(1.5px);
  max-height: 0;
  transition:
    opacity .26s ease,
    transform .26s ease,
    filter .28s ease,
    max-height .30s ease;
  will-change: opacity, transform, filter, max-height;
}
.fs-panel.is-active{
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
  max-height: 9999px;
}
.fs-panel__inner{
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  padding:24px;
}
.fs-panel__title{
  margin: 0 0 10px;
  font-weight: 400;
  letter-spacing: -0.015em;
  color: #6645ed;
  font-size: calc(1em + 2px);
}

/* Imágenes dentro del panel: al final, 100% ancho, altura natural */
.fs-panel__content{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.fs-panel__content > .kl-features-01__image{
  order: 99;
  margin-top:14px;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
.fs-panel__content > .kl-features-01__image img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
}

/* ---------- MÓVIL: acordeón en una sola caja (NO ocultes el panel) ---------- */
@media (max-width: 768px){
  .features-selector{ display:block; }
  .features-selector__content{ display:none; }     /* no se usa el contenedor de la derecha */
  .features-selector__menu .fs-tab{ display:none; }/* se ocultan tabs; se usa el título del panel */

  /* Mantener SIEMPRE visibles las cajas (paneles) */
  .fs-panel{
    opacity: 1;
    transform: none;
    filter: none;
    max-height: none;
    margin-bottom: 12px;
  }

  .fs-panel__inner{ padding:16px; }

  .fs-panel__title{
    cursor:pointer;
    user-select:none;
    position:relative;
    padding: 14px 18px;
    border-radius: 14px;
    background: transparent;
    color:#6645ed;
  }

  /* Activo: mismo degradado + borde idéntico (pill) */
  .fs-panel.is-active .fs-panel__title{
    color:#fff;
    background:
      linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) padding-box,
      linear-gradient(90deg, var(--btn-g1) 0%, var(--btn-g2) 100%) border-box;
    border: 2px solid transparent;
  }

  /* Caret que pasa a blanco al estar activo (hereda currentColor) */
  .fs-panel__title::after{
    content:'';
    position:absolute;
    right: 10px; top:50%;
    width:10px; height:10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-50%) rotate(45deg);
    opacity:.9;
    transition: transform .2s ease;
  }
  .fs-panel.is-active .fs-panel__title::after{
    transform:translateY(-50%) rotate(-135deg);
  }

  /* SOLO colapsa/expande el CONTENIDO, no el panel */
  .fs-panel__content{
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    filter: blur(1px);
    transform: translateY(4px);
    transition: max-height .28s ease, opacity .24s ease, filter .24s ease, transform .24s ease, margin-top .24s ease;
    will-change: max-height, opacity, filter, transform;
    margin-top: 0;
  }
  .fs-panel.is-active .fs-panel__content{
    max-height: 9999px;
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
    margin-top: 10px;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .fs-tab, .fs-panel, .fs-panel__content{
    transition: none !important;
    filter: none !important;
    transform: none !important;
  }
}
.kl-footer {
  background-color: rgba(30, 30, 30, 1.0);
}
.kl-footer h1, .kl-footer h2, .kl-footer h3, .kl-footer h4, .kl-footer h5, .kl-footer h6, .kl-footer p, .kl-footer a, .kl-footer div, .kl-footer span {
  color: rgba(255, 255, 255, 1.0);
}

/* --- Overrides h3 footer: blanco, +20% tamaño, alineado a la izquierda y margen inferior 20px --- */
.kl-footer h3{
  color: #fff !important;
  font-size: 1.2em !important;       /* +20% sobre su tamaño heredado */
  text-align: left !important;
  margin-bottom: 20px !important;     /* ↓ antes ~32px */
}

.kl-footer__wrapper {
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
}

.kl-footer__legal {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.875rem;
  margin: -0.625rem -1.25rem;
}
.kl-footer__legal > span {
  margin: 0.625rem 1.25rem;
  color: rgba(255, 255, 255, 1.0);
}
.kl-footer__legal a {
  color: rgba(255, 255, 255, 1.0);
}
.kl-footer__legal a:hover, .kl-footer__legal a:focus, .kl-footer__legal a:active {
  color: rgba(64, 14, 162, 1.0);
  text-decoration: none;
}

.kl-footer__byline {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.75rem;
  margin: -0.625rem -1.25rem;
}
@media screen and (max-width: 680px) {
  .kl-footer__byline {
    justify-content: center;
  }
}
.kl-footer__byline > span {
  margin: 0.625rem 1.25rem;
  color: rgba(255, 255, 255, 1.0);
  text-align: center;
}
.kl-footer__byline a {
  color: rgba(255, 255, 255, 1.0);
}
.kl-footer__byline a:hover, .kl-footer__byline a:focus, .kl-footer__byline a:active {
  color: #400ea2;
  text-decoration: none;
}

.kl-footer__content {
  display: flex;
  justify-content: space-between;
  padding: 120px 0;
}
@media screen and (max-width: 1024px) {
  .kl-footer__content {
    padding: 0 0 32px !important;
  }
}
@media screen and (max-width: 680px) {
  .kl-footer__content {
    display: block;
  }
}

/* Address actualizado: margin: 5px 0 16px 10px */
.kl-footer__address {
  margin: 5px 0 16px 10px !important;
}
.kl-footer__address p {
  color: rgba(255, 255, 255, 1.0);
}

.kl-footer__info {
  flex-basis: 250px;
  text-align: left !important; /* asegurar alineado a la izquierda */
}
.kl-footer__info img {
  display: block !important;
  width: 60% !important;      /* reducción del 40% */
  max-width: 60% !important;
  height: auto !important;
  margin-left: 0 !important;  /* alinear a la izquierda */
  margin-right: auto !important;
}
.kl-footer__info p {
  font-size: 0.875em;
}

.kl-footer__social {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 -16px;
}
.kl-footer__social span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  margin: 8px 16px;
}
.kl-footer__social svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: rgba(255, 255, 255, 1.0);
  transition: all 0.25s ease-in-out;
}
.kl-footer__social a:hover svg {
  fill: #400ea2;
}

.kl-footer__menu {
  display: flex;
  flex-wrap: wrap;
  margin: -16px 0;
}
@media screen and (max-width: 680px) {
  .kl-footer__menu {
    margin: 16px -16px 0;
  }
}
.kl-footer__menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* h3 del menú: blanco, +20% y margen inferior 20px */
.kl-footer__menu h3 {
  font-size: calc(1.125rem * 1.2) !important;
  font-weight: bold;
  margin: 0 0 20px !important;
  color: #fff !important;
  text-align: left !important;
}

.kl-footer__menu a {
  display: block;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 17px;
  color: rgba(255, 255, 255, 1.0);
  margin: 0 0 1.375em;
}
.kl-footer__menu a:hover, .kl-footer__menu a:focus, .kl-footer__menu a:active {
  color: #400ea2;
  text-decoration: none;
}

.kl-footer__group {
  margin: 16px 42px;
}
@media screen and (max-width: 680px) {
  .kl-footer__group {
    margin: 16px;
  }
}
/* Margen izquierdo para los li dentro de kl-footer__group */
.kl-footer__group li{
  margin-left: 10px !important;
}

/* ===== Override final: padding uniforme 50px en .kl-footer__content ===== */
.kl-footer__content{
  padding: 50px 0 !important;
}
@media screen and (max-width: 1024px){
  .kl-footer__content{
    padding: 50px 0 !important;
  }
}
@media screen and (max-width: 680px){
  .kl-footer__content{
    padding: 50px 0 !important;
  }
}

/* ===== Override final: hover de cualquier enlace del footer en gris claro ===== */
.kl-footer a:hover,
.kl-footer a:focus,
.kl-footer a:active{
  color: #d1d5db !important;  /* gris claro */
  text-decoration: none !important;
}
.kl-hero-01 {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 70vh;
  padding: 64px 0;
}
.kl-hero-01__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
  padding: 20px;
  padding-right: 50%;
}
@media screen and (min-width: 1380px) {
  .kl-hero-01__content {
    padding: 0px;
  }
}
@media screen and (max-width: 768px) {
  .kl-hero-01__content {
    padding: 20px;
  }
}
@media screen and (min-width: 1240px) {
  .kl-hero-01__content {
    padding: 0;
  }
}
.kl-hero-01__content > div {
  max-width: 430px;
}
@media screen and (max-width: 768px) {
  .kl-hero-01__content > div {
    max-width: none;
  }
}
.kl-hero-01__image {
  position: absolute;
  width: 45%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  right: 0;
  transition: opacity 0.2s, width 0.5s;
}
@media screen and (max-width: 768px) {
  .kl-hero-01__image {
    opacity: 0.3;
    width: 100%;
  }
}
.kl-hero-02 {
  display: flex;
  padding: 64px 0;
  min-height: 50vh;
}
.kl-hero-02__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1380px) {
  .kl-hero-02__content {
    padding: 0px;
  }
}
@media screen and (max-width: 960px) {
  .kl-hero-02__content {
    display: block;
  }
}
.kl-hero-02__content .kl-rich-text {
  flex-basis: 300px;
  flex-grow: 1;
}
.kl-hero-02__image {
  margin-left: 32px;
  display: flex;
  flex-grow: 1;
  flex-basis: 480px;
  height: 100%;
}
@media screen and (max-width: 960px) {
  .kl-hero-02__image {
    max-width: 720px;
    margin: 32px auto 0;
    height: auto;
  }
}
.kl-hero-02__image img {
  max-width: 100%;
  display: block;
}
.kl-hero-02__image--left {
  justify-content: flex-start;
}
.kl-hero-02__image--center {
  justify-content: center;
}
.kl-hero-02__image--right {
  justify-content: flex-end;
}
.kl-hero-02__image--top {
  align-items: flex-start;
}
.kl-hero-02__image--middle {
  align-items: center;
}
.kl-hero-02__image--bottom {
  align-items: flex-end;
}
/* =========================================================
   HERO 03
   ========================================================= */
.kl-hero-03 {
  /* top = 120px, left/right = 0, bottom = 96px (−20%) */
  padding: 120px 0 96px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  /* top = 64px, left/right = 0, bottom = 51px (−20%) */
  .kl-hero-03 {
    padding: 64px 0 51px;
  }
}

/* Contenedor centrado */
.kl-hero-03__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;

  display: grid;
  justify-items: center; /* centra horizontalmente todos los hijos */
  text-align: center;    /* centra el texto del rich text */
  gap: 24px;
}
@media screen and (min-width: 1380px) {
  .kl-hero-03__content { padding: 0px; }
}

/* Rich text */
.kl-hero-03__content .kl-rich-text {
  max-width: 100%;
  margin: 0 auto;
  text-align: inherit;
}
@media screen and (max-width: 768px) {
  .kl-hero-03__content .kl-rich-text { max-width: 100%; }
}

/* Imagen: en flujo normal, centrada */
.kl-hero-03__image {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  margin-top: 24px;
  display: block;
}
@media screen and (max-width: 768px) {
  .kl-hero-03__image { margin-top: 32px; }
}
@media screen and (max-width: 360px) {
  .kl-hero-03__image { display: none; }
}
.kl-hero-03__image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

/* =========================
   Móvil: H1 un 20% más pequeño
   ========================= */
@media (max-width: 768px){
  .kl-hero-03__content .kl-rich-text h1 {
    font-size: calc(40px * 0.8) !important;
  }
}

/* =========================
   Botonera: layout responsive
   - Móvil (base): columna → Primary, Message, Secondary
   - Desktop (≥992px): grid 2 cols → Primary | Secondary ; debajo: Message (bajo Primary)
   ========================= */
.kl-hero-03 .kl-rich-text__buttons{
  display: grid !important;
  grid-template-columns: 1fr;            /* base: una columna */
  grid-auto-flow: row;
  gap: 12px;
  justify-content: center;               /* centra el grid dentro del contenedor */
  justify-items: center;                 /* centra cada ítem */
  align-items: center;
  text-align: center;
}

/* Posiciones base (móvil) */
.kl-hero-03 .kl-rich-text__buttons [class*="__primary_cta"]{ grid-column: 1; grid-row: 1; }
.kl-hero-03 .kl-rich-text__buttons .kl-primary-message{    grid-column: 1; grid-row: 2; }
.kl-hero-03 .kl-rich-text__buttons [class*="__secondary_cta"]{ grid-column: 1; grid-row: 3; }

/* Desktop: Primary y Secondary al lado; mensaje debajo del Primary */
@media (min-width: 992px){
  .kl-hero-03 .kl-rich-text__buttons{
    grid-template-columns: auto auto;
    gap: 0px 16px; /* sin gap vertical, 16px horizontal */
  }
  .kl-hero-03 .kl-rich-text__buttons [class*="__primary_cta"]{
    grid-column: 1; grid-row: 1; justify-self: center;
  }
  .kl-hero-03 .kl-rich-text__buttons [class*="__secondary_cta"]{
    grid-column: 2; grid-row: 1; justify-self: center;
  }
  .kl-hero-03 .kl-rich-text__buttons .kl-primary-message{
    grid-column: 1; grid-row: 2; justify-self: center; align-self: start;
    margin-top: 3px; /* pegado al primary */
  }
}

/* =========================
   Mensaje del primary_cta
   ========================= */
.kl-hero-03 .kl-primary-message{
  font-size: 10px;
  color: #929599;   /* 30% más oscuro que #D1D5DB */
  text-align: center;
  line-height: 1.4;
  margin: 3px 0 0 0;  /* sin margen inferior */
  display: block;
}
/* =========================================
   Logos: tarjetas con fondo y bordes redondeados
   + grid existente
   + MARQUESINA consistente (móvil = desktop, SIN deformar)
   ========================================= */

/* -------- Variables -------- */
:root{
  --kl-gutter-x: 3px;      /* separación por lado entre tarjetas */
  --kl-card-radius: 12px;  /* bordes redondeados */
  --kl-card-px: 12px;      /* padding horizontal de tarjeta */
  --kl-card-py: 10px;      /* padding vertical de tarjeta */
  --kl-logo-h: 96px;       /* altura visual del logo (misma en móvil/desktop) */
}

/* -------- Fila de logos (base) -------- */
.kl-logos{
  display:flex;
  align-items:center;
  justify-content:flex-start;    /* evita huecos tipo space-around */
  list-style:none;
  margin:0;
  padding:0;
  gap:0;                         /* usamos gutter por item */
}

/* Grids normales (NO marquesina) permiten wrap en móvil */
@media (max-width:768px){
  .kl-logos{ flex-wrap:wrap; }
}

/* ===== Variantes por columnas (grid normal) ===== */
.kl-logos--1 { flex-wrap:wrap; } .kl-logos--1  .kl-logos__item{ flex-basis:calc(100%/1); }
.kl-logos--2 { flex-wrap:wrap; } .kl-logos--2  .kl-logos__item{ flex-basis:calc(100%/2); }
.kl-logos--3 { flex-wrap:wrap; } .kl-logos--3  .kl-logos__item{ flex-basis:calc(100%/3); }
@media (max-width:340px){ .kl-logos--3 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--4 { flex-wrap:wrap; } .kl-logos--4  .kl-logos__item{ flex-basis:calc(100%/4); }
@media (max-width:480px){ .kl-logos--4 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--4 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--5 { flex-wrap:wrap; } .kl-logos--5  .kl-logos__item{ flex-basis:calc(100%/5); }
@media (max-width:768px){ .kl-logos--5 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--5 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--5 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--6 { flex-wrap:wrap; } .kl-logos--6  .kl-logos__item{ flex-basis:calc(100%/6); }
@media (max-width:768px){ .kl-logos--6 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--6 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--6 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--7 { flex-wrap:wrap; } .kl-logos--7  .kl-logos__item{ flex-basis:calc(100%/7); }
@media (max-width:920px){ .kl-logos--7 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--7 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--7 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--7 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--8 { flex-wrap:wrap; } .kl-logos--8  .kl-logos__item{ flex-basis:calc(100%/8); }
@media (max-width:920px){ .kl-logos--8 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--8 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--8 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--8 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--9 { flex-wrap:wrap; } .kl-logos--9  .kl-logos__item{ flex-basis:calc(100%/9); }
@media (max-width:920px){ .kl-logos--9 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--9 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--9 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--9 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--10{ flex-wrap:wrap; } .kl-logos--10 .kl-logos__item{ flex-basis:calc(100%/10); }
@media (max-width:920px){ .kl-logos--10 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--10 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--10 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--10 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--11{ flex-wrap:wrap; } .kl-logos--11 .kl-logos__item{ flex-basis:calc(100%/11); }
@media (max-width:920px){ .kl-logos--11 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--11 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--11 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--11 .kl-logos__item{ flex-basis:calc(100%/2); } }

.kl-logos--12{ flex-wrap:wrap; } .kl-logos--12 .kl-logos__item{ flex-basis:calc(100%/12); }
@media (max-width:920px){ .kl-logos--12 .kl-logos__item{ flex-basis:calc(100%/6); } }
@media (max-width:768px){ .kl-logos--12 .kl-logos__item{ flex-basis:calc(100%/4); } }
@media (max-width:480px){ .kl-logos--12 .kl-logos__item{ flex-basis:calc(100%/3); } }
@media (max-width:340px){ .kl-logos--12 .kl-logos__item{ flex-basis:calc(100%/2); } }

/* -------- Item y tarjeta -------- */
.kl-logos__item{
  box-sizing:border-box;
  padding-left:var(--kl-gutter-x);
  padding-right:var(--kl-gutter-x);
  padding-top:12px;
  padding-bottom:12px;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* Tarjeta (vale para <a>, wrapper .kl-logos__box o <img> directo) */
.kl-logos__item > a,
.kl-logos__item > .kl-logos__box,
.kl-logos__item > img{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  background:#EEEEEE;
  border-radius:var(--kl-card-radius);
  padding:var(--kl-card-py) var(--kl-card-px);
  overflow:hidden;
  text-decoration:none;
  min-height: calc(var(--kl-logo-h) + 2 * var(--kl-card-py)); /* caja estable */
}

/* ==== LOGOS SIN DEFORMAR (clave) ==== */
/* Usamos un "marco" de altura fija y el logo rellena con object-fit: contain */
.kl-logos__item > a img,
.kl-logos__item > .kl-logos__box img{
  width:100%;
  height:var(--kl-logo-h);
  object-fit:contain;   /* mantiene proporción */
  display:block;
}

/* Caso: <img> directo como tarjeta */
.kl-logos__item > img{
  width:100%;
  height:var(--kl-logo-h);
  object-fit:contain;
  display:block;
}

/* =========================================
   MARQUESINA (el JS envuelve con .kl-marquee)
   ========================================= */
.kl-marquee{ overflow:hidden; width:100%; }

/* Sin huecos y sin wrap dentro de la marquesina */
.kl-marquee .kl-logos{
  justify-content:flex-start !important;
  gap:0 !important;
  column-gap:0 !important;
  row-gap:0 !important;
  flex-wrap:nowrap !important;
  margin:0; padding:0;
}

/* Nº de visibles en la marquesina:
   - Desktop: 5 (20% cada uno)
   - Móvil:   2 (50% cada uno) */
@media (min-width:769px){
  .kl-marquee .kl-logos__item{ flex:0 0 20% !important; max-width:20% !important; }
}
@media (max-width:768px){
  .kl-marquee .kl-logos__item{ flex:0 0 50% !important; max-width:50% !important; }
}
.kl-about-modal {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding: 64px 16px;
  visibility: hidden;
  overscroll-behavior: contain;
}
.kl-about-modal__overlay {
  content: "";
  background-color: black;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  opacity: 0;
  transition: all 0.25s ease-in-out;
  visibility: hidden;
}
.kl-about-modal__close {
  position: absolute;
  z-index: 13;
  top: 25px;
  right: 25px;
  display: block;
  background: white;
  padding: 4px;
}
@media screen and (max-width: 768px) {
  .kl-about-modal__close {
    top: 0;
    right: 0;
  }
}
.kl-about-modal__close svg {
  display: block;
}
.kl-about-modal__wrapper {
  overflow: hidden;
  position: relative;
  background: white;
  display: flex;
}
@media screen and (max-width: 768px) {
  .kl-about-modal__wrapper {
    display: block;
  }
}
.kl-about-modal__container {
  max-width: 980px;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  z-index: 13;
  transition: top 0.25s ease-in-out;
  visibility: hidden;
  opacity: 0;
}
.kl-about-modal:target {
  visibility: visible;
}
.kl-about-modal:target .kl-about-modal__overlay {
  opacity: 0.5;
  visibility: visible;
}
.kl-about-modal:target .kl-about-modal__container {
  visibility: visible;
  opacity: 1;
}
.kl-about-modal__image {
  width: 330px;
}
@media screen and (max-width: 768px) {
  .kl-about-modal__image {
    width: 100%;
  }
}
.kl-about-modal__image img {
  max-width: 100%;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .kl-about-modal__image img {
    object-fit: unset;
  }
}
.kl-about-modal__content {
  padding: 42px 50px;
  flex-basis: 650px;
}
.kl-about-modal__header {
  margin: 0 0 30px;
}
.kl-about-modal__header h1, .kl-about-modal__header h2, .kl-about-modal__header h3, .kl-about-modal__header h4, .kl-about-modal__header h5, .kl-about-modal__header h6 {
  margin: 0 0 10px;
  font-weight: bold;
}
.kl-about-modal__header h4 {
  color: #400ea2;
}
.kl-about-modal__social {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 -8px;
}
.kl-about-modal__social span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  margin: 8px;
}
.kl-about-modal__social svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: #000000;
  transition: all 0.25s ease-in-out;
}
.kl-about-modal__social a:hover svg {
  fill: #400ea2;
  /*fill: $secondary-color;*/
}
.kl-offer-modal {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding: 64px 16px;
  visibility: hidden;
  overscroll-behavior: contain;
}
.kl-offer-modal__overlay {
  content: "";
  background-color: black;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  opacity: 0;
  transition: all 0.25s ease-in-out;
  visibility: hidden;
}
.kl-offer-modal__close {
  position: absolute;
  z-index: 13;
  top: 25px;
  right: 25px;
  display: block;
  background: white;
  padding: 4px;
}
@media screen and (max-width: 768px) {
  .kl-offer-modal__close {
    top: 0;
    right: 0;
  }
}
.kl-offer-modal__close svg {
  display: block;
}
.kl-offer-modal__wrapper {
  overflow: hidden;
  position: relative;
  background: white;
  display: flex;
}
@media screen and (max-width: 768px) {
  .kl-offer-modal__wrapper {
    display: block;
  }
}
.kl-offer-modal__container {
  max-width: 980px;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  z-index: 13;
  transition: top 0.25s ease-in-out;
  visibility: hidden;
  opacity: 0;
}
.kl-offer-modal:target {
  visibility: visible;
}
.kl-offer-modal:target .kl-offer-modal__overlay {
  opacity: 0.5;
  visibility: visible;
}
.kl-offer-modal:target .kl-offer-modal__container {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .kl-offer-modal__close {
    top: 8px;
    right: 8px;
  }
}
.kl-offer-modal__wrapper {
  padding: 48px 64px;
}
@media screen and (max-width: 480px) {
  .kl-offer-modal__wrapper {
    padding: 32px;
  }
}
.kl-offer-modal__wrapper--center {
  align-items: center;
}
.kl-offer-modal__wrapper--bottom {
  align-items: flex-end;
}
.kl-offer-modal__content {
  flex-basis: 400px;
  flex-grow: 1;
}
.kl-offer-modal__form {
  margin-left: 36px;
  flex-basis: 50%;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .kl-offer-modal__form {
    margin: 36px 0 0;
  }
}
/* =========================================================
   HEADER / NAVBAR (con ajustes mobile solicitados)
   ========================================================= */

.kl-header {
  position: fixed;
  z-index: 12;
  width: 100%;
  box-shadow: 0px 5px 10px rgba(154, 161, 177, 0.1);
  background-color: rgba(255, 255, 255, 1.0);
}

.kl-header-placeholder { height: 82px; }

.kl-navbar {
  height: 82px;
  display: flex;
  align-items: center;
}

@media (max-width: 920px) {
  .kl-navbar { justify-content: space-between; }
  .kl-navbar--active .kl-navbar__content {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

.kl-navbar__logo { width: auto; display: block; margin-right: 42px; }

.kl-navbar__mobile { display: flex; }

.kl-navbar__mobile .hs_cos_wrapper_type_language_switcher { display: none; }
@media (max-width: 920px) {
  .kl-navbar__mobile .hs_cos_wrapper_type_language_switcher { display: block; }
}
.kl-navbar__mobile .hs_cos_wrapper_type_language_switcher + .kl-navbar__hamburger { margin-left: 32px; }

/* ===== Contenedor principal ===== */
.kl-navbar__content {
  flex: 1 1 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ---- MOBILE: reducir padding 50% y colocar CTA debajo del menú ---- */
@media (max-width: 920px) {
  .kl-navbar__content {
    background-color: rgba(255, 255, 255, 1.0);
    position: fixed;
    width: 100%;
    height: calc(100% - 82px);
    left: 0;
    bottom: 0;
    padding: 22px 5%;                 /* 45px 10% → 22px 5% */
    flex-direction: column;
    justify-content: flex-start;      /* antes space-between */
    gap: 18px;                        /* separación menú/CTAs */
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: transform .25s ease-in-out, opacity .25s ease-in-out;
  }
}

/* ===== Menú ===== */
.kl-navbar__menu {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}
@media (max-width: 920px) {
  .kl-navbar__menu { display: block; margin: 0 0 8px; width: 100%; }
}

.kl-navbar__item { position: relative; margin: 0 32px; }
@media (max-width: 1024px) { .kl-navbar__item { margin: 0 16px; } }

/* Panel de mega menú */
.kl-navbar__item--active .kl-navbar__panel { visibility: visible; opacity: 1; transform: translateY(0); }
@media (max-width: 920px) { .kl-navbar__item--active .kl-navbar__panel { max-height: 100vh; } }

/* Estado activo del link principal */
.kl-navbar__item--active .kl-navbar__button { color: #400ea2; }
.kl-navbar__item--active .kl-navbar__button > span:after { visibility: visible; width: 100%; }

/* ===== Link del menú ===== */
.kl-navbar__button {
  font-weight: bold;
  font-size: 12px;
  font-family: Inter, sans-serif;
  line-height: 2em;
  word-break: normal;
  color: #000000;
  display: inline-block;
}
@media (max-width: 920px) { .kl-navbar__button { font-size: 1rem; } }

.kl-navbar__button > span {
  position: relative;
  display: inline-block;
  padding: 8px 0;
}
/* subrayado animado (desktop) */
.kl-navbar__button > span:after {
  content: '';
  width: 0;
  height: 2px;
  background-color: #400ea2;
  position: absolute;
  left: 0;
  bottom: 2px;
  visibility: hidden;
  transition: width .2s ease-in-out;
}

.kl-navbar__button:hover,
.kl-navbar__button:focus,
.kl-navbar__button:active,
.kl-navbar__button--active {
  text-decoration: none; color: #400ea2;
}
.kl-navbar__button:hover > span:after,
.kl-navbar__button:focus > span:after,
.kl-navbar__button:active > span:after,
.kl-navbar__button--active > span:after { visibility: visible; width: 100%; }

/* ---- MOBILE: añadir “>” a cada ítem del menú ---- */
@media (max-width: 920px){
  .kl-navbar__menu .kl-navbar__button{
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .kl-navbar__menu .kl-navbar__button::after{
    content: "";
    width: 18px; height: 18px; margin-left: 8px; flex: 0 0 auto;
    background-repeat: no-repeat; background-position: center; background-size: 18px 18px;
    /* flecha con color primario */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23400ea2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4 L17 12 L7 20'/%3E%3C/svg%3E");
  }
}

/* ===== Bloque de CTAs al final del nav ===== */
.kl-navbar__end { display: flex; align-items: center; }
.kl-navbar__end > span + a { margin-left: 25px; }
.kl-navbar__end > a + a, .kl-navbar__end > a:not(:first-child) { margin-left: 25px; }
@media (max-width: 920px) { .kl-navbar__end .hs_cos_wrapper_type_language_switcher { display: none; } }
.kl-navbar__end > .button_cta:not(:first-child) { margin-left: 25px; }

/* ---- MOBILE: CTAs centrados, ordenados y dimensionados ---- */
@media (max-width: 920px){
  .kl-navbar__end{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    margin: 0 auto !important;
    width: 100% !important;
  }
  /* PRIMARY — Empieza Gratis (arriba) */
  .kl-navbar__end .button.Navbar__button{
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;          /* tamaño grande en mobile */
    padding: 28px 48px !important;
    margin: 0 auto !important;
    color: #fff !important;
    background-image: linear-gradient(90deg, #6551E8 0%, #B34FED 100%) !important;
    background-size: 200% 100% !important;
    background-position: 0% 50% !important;
    border: none !important;
    border-radius: 9999px !important;
  }
  .kl-navbar__end .button.Navbar__button:hover,
  .kl-navbar__end .button.Navbar__button:focus{
    background-image: linear-gradient(90deg, #B34FED 0%, #6551E8 100%) !important;
    background-position: 100% 50% !important;
  }
  /* SECONDARY — Iniciar Sesión (debajo, 5px) */
  .kl-navbar__end .kl-navbar__button.Navbar__button{
    order: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 5px auto 0 !important;
    /* mantiene su tamaño/estilo de link */
  }
}

/* ===== Paneles de mega menú ===== */
.kl-navbar__panel {
  background-color: rgba(255, 255, 255, 1.0);
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: all .25s ease-in-out;
  position: fixed; top: 82px; left: 0; width: 100%;
}
@media (max-width: 920px) {
  .kl-navbar__panel { position: static; max-height: 0; overflow: hidden; }
}
.kl-navbar__panel-wrapper {
  display: flex; flex-wrap: wrap; max-width: 960px; margin: 0 auto; padding: 32px 0; justify-content: space-between;
}
.kl-navbar__panel-wrapper > div { flex-basis: none; }

.kl-navbar__categories {
  display: flex; justify-content: space-between; flex-wrap: wrap;
  flex-basis: 650px; flex-grow: 1; flex-shrink: 1;
}
@media (max-width: 920px) { .kl-navbar__categories p { display: none; } }

.kl-navbar__description { flex-basis: 250px; margin: 0 16px; color: #000000; }
@media (max-width: 920px) { .kl-navbar__description { margin: 0; flex-basis: 50%; } }
@media (max-width: 920px) { .kl-navbar__description--full { flex-basis: auto; } }

.kl-navbar__description h1, .kl-navbar__description h2, .kl-navbar__description h3, .kl-navbar__description h4, .kl-navbar__description h5, .kl-navbar__description h6 { color: inherit; }
.kl-navbar__description h2 { font-size: 1.125rem; font-weight: bold; margin: 0 0 .5rem; }
.kl-navbar__description h3 { font-size: 0.875rem; font-weight: bold; margin: 0 0 .5rem; }
.kl-navbar__description p { font-size: 0.875rem; margin: 0 0 1.75rem; }
.kl-navbar__description a { color: #000000; }
.kl-navbar__description a:hover, .kl-navbar__description a:focus { text-decoration: none; color: #400ea2; }

/* ===== Hamburguesa ===== */
.kl-navbar .hamburger {
  display: none;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit; color: inherit; text-transform: none;
  background-color: transparent; border: 0; margin: 0; padding: 0; overflow: visible; min-width: auto;
}
@media (max-width: 920px) { .kl-navbar .hamburger { display: block; } }
.kl-navbar .hamburger:focus { outline: none; }

.kl-navbar .hamburger-box { width: 24px; height: 19px; display: inline-block; position: relative; }
.kl-navbar .hamburger-inner { display: block; top: 50%; margin-top: -1.5px; }
.kl-navbar .hamburger-inner,
.kl-navbar .hamburger-inner::before,
.kl-navbar .hamburger-inner::after {
  width: 24px; height: 3px; background-color: #000000;
  position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease;
}
.kl-navbar .hamburger-inner::before, .kl-navbar .hamburger-inner::after { content: ""; display: block; }
.kl-navbar .hamburger-inner::before { top: -8px; }
.kl-navbar .hamburger-inner::after  { bottom: -8px; }

.kl-navbar .hamburger--squeeze .hamburger-inner { transition-duration: 0.075s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.kl-navbar .hamburger--squeeze .hamburger-inner::before { transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
.kl-navbar .hamburger--squeeze .hamburger-inner::after  { transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.kl-navbar .hamburger--squeeze.is-active .hamburger-inner { transform: rotate(45deg); transition-delay: 0.12s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.kl-navbar .hamburger--squeeze.is-active .hamburger-inner::before { top: 0; opacity: 0; transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
.kl-navbar .hamburger--squeeze.is-active .hamburger-inner::after  { bottom: 0; transform: rotate(-90deg); transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* ===== Submenús ===== */
.kl-navbar-submenu-wrapper { position: absolute; left: -24px; visibility: hidden; }
@media (max-width: 920px) { .kl-navbar-submenu-wrapper { position: static; visibility: visible; display: none; } }
.kl-navbar__item:hover > .kl-navbar-submenu-wrapper { visibility: visible; }

.kl-navbar-submenu {
  background-color: rgba(255, 255, 255, 1.0);
  box-shadow: 0px 5px 10px rgba(154, 161, 177, 0.1);
  list-style: none; padding: 0; margin: 20px 0 0;
}
@media (max-width: 920px) { .kl-navbar-submenu { box-shadow: none; margin: 12px 0; width: auto; } }

.kl-navbar-submenu .kl-navbar-submenu { position: absolute; top: 0; left: 100%; transform: translateX(0); margin: 0; visibility: hidden; }
@media (max-width: 920px) { .kl-navbar-submenu .kl-navbar-submenu { position: static; visibility: visible; display: none; margin-left: 20px; } }

.kl-navbar-submenu__item { position: relative; width: max-content; }
.kl-navbar-submenu__item:hover > .kl-navbar-submenu { visibility: visible; }

.kl-navbar-submenu__item a {
  display: block; padding: 12px 24px;
  font-weight: bold;
  font-size: 12px;
  font-family: Inter, sans-serif;
  line-height: 1rem; word-break: normal; color: #000000;
}
.kl-navbar-submenu__item a:hover, .kl-navbar-submenu__item a:focus { color: #400ea2; text-decoration: none; }
@media (max-width: 920px) { .kl-navbar-submenu__item a { padding: 12px 0; } }

.kl-navbar__parent { cursor: pointer; }
@media (min-width: 920px) {
  .kl-navbar__parent:hover > a:after { transform: rotate(225deg); }
}
.kl-navbar__parent > a {
  position: relative; display: flex; justify-content: space-between; align-items: center;
}
@media (max-width: 920px) { .kl-navbar__parent > a { pointer-events: none; } }

.kl-navbar__parent > a:after {
  content: ''; display: block; width: 5px; height: 5px; margin-left: 16px;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(45deg); transform-origin: 3px 3px; transition: transform .25s ease-in-out;
}
.kl-navbar__parent--active > .kl-navbar-submenu-wrapper,
.kl-navbar__parent--active > .kl-navbar-submenu { display: block; }
.kl-navbar__parent--active > a:after { transform: rotate(225deg); }
.kl-navbar__parent--active > a { color: #400ea2; }
.kl-navbar__parent--active > a > span:after { visibility: visible; width: 100%; }
.kl-offer-01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  padding: 32px 36px 0;
  border: 1px solid rgba(100, 146, 253, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.1);
}

.kl-offer-01__content {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-basis: 320px;
  flex-grow: 1;
  margin-bottom: 32px;
}

.kl-offer-01__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 1rem;
}

.kl-offer-01__text {
  flex-basis: 420px;
  flex-grow: 1;
  margin-right: 50px;
}

@media screen and (max-width: 480px) {
  .kl-offer-01__text {
    margin: 0;
  }
}

.kl-offer-01__text h1, .kl-offer-01__text h2, .kl-offer-01__text h3, .kl-offer-01__text h4, .kl-offer-01__text h5, .kl-offer-01__text h6 {
  margin: 0 0 1.125rem;
}

.kl-offer-01__button {
  flex-shrink: 0;
}

.kl-offer-01__image {
  flex-basis: 260px;
  margin: 0 auto;
  padding-right: 20px;
}

@media screen and (max-width: 480px) {
  .kl-offer-01__image {
    padding: 0;
  }
}

.kl-offer-01__image img {
  display: block;
  width: 100%;
  max-width: 420px;
}
/* =========================================================
   ✅ CSS COMPLETO (pricing + tooltip + toggle outlined FIX)
   ✅ FIX: Flex + gap (3 columnas) para que cada tarjeta tenga su altura
   ========================================================= */

/* ========== Utilidades / Layout base ========== */
.is-hidden { display: none !important; }
.kl-pricing-wrap { display: block; }

/* --- FLEX con gap, 3/2/1 columnas usando variables --- */
.kl-pricing{
  --gap: 32px;
  --cols: 3;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  align-items: flex-start; /* clave: no igualar alturas */
  text-align: center;
}

/* 3 columnas desktop */
.kl-pricing__card{
  /* base: (100% - gaps) / cols */
  flex: 1 1 calc((100% - (var(--cols) - 1)*var(--gap)) / var(--cols));
  max-width: calc((100% - (var(--cols) - 1)*var(--gap)) / var(--cols));
}

/* Tablet: 2 columnas */
@media (max-width: 1024px){
  .kl-pricing{ --gap: 12px; --cols: 2; }
  .kl-pricing__card{
    flex-basis: calc((100% - (var(--cols) - 1)*var(--gap)) / var(--cols));
    max-width: calc((100% - (var(--cols) - 1)*var(--gap)) / var(--cols));
  }
}

/* Móvil: 1 columna */
@media (max-width: 768px){
  .kl-pricing{ --gap: 30px; --cols: 1; }
  .kl-pricing__card{
    flex-basis: 100%;
    max-width: 100%;
  }
}

#kl-pricing-primary { margin-bottom: 16px; }

/* ========== Tarjetas ========== */
.kl-pricing__card {
  position: relative;
  padding: 36px 32px;
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.1);
  background-color: rgba(255, 255, 255, 1.0);
  border-radius: 9px;
  width: 100%;
  transition: box-shadow .25s ease-in-out;
}

/* Destacada */
.kl-pricing__card--featured {
  border: 2px solid transparent;
  background:
    linear-gradient(
      rgba(255, 255, 255, 1.0),
      rgba(255, 255, 255, 1.0)
    ) padding-box,
    linear-gradient(90deg, #6551e8 0%, #b34fed 100%) border-box;
  background-origin: border-box;
  background-clip: padding-box, border-box;
  padding: 48px 32px 52px;
  box-shadow: 0px 20px 60px rgba(0,0,0,.25);
}

/* Hover */
.kl-pricing__card:hover { box-shadow: 0px 24px 70px rgba(0,0,0,.30); }

/* ========== Badge ========== */
.kl-pricing__badge{
  font-family: Rubik, sans-serif;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 40px;
  background: linear-gradient(90deg, #6551e8 0%, #b34fed 100%);
  color: #fff;
  position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}

/* ========== Internos ========== */
.kl-pricing__icon { height: 28px; display: flex; align-items: flex-end; justify-content: center; margin: 0 0 1.5rem; }
.kl-pricing__icon img { max-height: 100%; display: block; }

.kl-pricing__price { color: #400ea2; }
.kl-pricing__price h1,.kl-pricing__price h2,.kl-pricing__price h3,.kl-pricing__price h4,.kl-pricing__price h5,.kl-pricing__price h6 { color: inherit; }

.kl-pricing__description p { font-size: .875rem; margin: 0 0 .75rem; }

/* Botón */
.kl-pricing__button .button_cta, .kl-pricing__button a { width: 100%; }
.kl-pricing__button button span,
.kl-pricing__button a span { font-size: 130% !important; }
.kl-pricing__button button,
.kl-pricing__button a { padding-top: 1.25em !important; padding-bottom: 1.25em !important; }

/* Mensaje bajo el botón */
.kl-pricing__button-message{
  font-size: 12px;
  line-height: 1.4;
  color: #6b7280;
  text-align: center;
  margin-top: 8px;
}

/* Separador */
.kl-pricing hr { margin: 1.75rem 0; color:#F3F3F3; background-color:#F3F3F3; height:2px; }

/* ========== Features ========== */
.kl-pricing__features { text-align: left; list-style: none; margin: 0 !important; padding: 0; }
.kl-pricing__features li { font-size: .875rem; margin: 0 0 1rem; display: flex; align-items: flex-start; }
.kl-pricing__bullet { display: block; width: 1rem; height: 1rem; margin: 2px .75rem 0 0; flex-shrink: 0; }
.kl-pricing__bullet img { display: block; width: 1rem; height: 1rem; object-fit: contain; }
.kl-pricing__features--primary { margin: 0 0 .75rem !important; }

.kl-pricing__features--extra{
  overflow: hidden;
  transition: max-height .3s ease, opacity .25s ease, transform .3s ease;
  will-change: max-height, opacity, transform;
  opacity: 0;
  transform: translateY(-6px);
  max-height: 0;
  margin: 0 !important;
}
.kl-pricing__features--extra.is-open{
  overflow: visible;
  opacity: 1;
  transform: translateY(0);
  max-height: 1200px;
  margin: 0 0 .75rem !important;
}
.kl-pricing__features--morelink { margin: 0 0 1.25rem !important; }
.kl-pricing__features--primary + .kl-pricing__features--extra { margin-top: 0 !important; }

/* ========== Enlace “ver más/menos” ========== */
.kl-featurelink {
  all: unset !important;
  display: inline !important;
  cursor: pointer !important;
  font: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.kl-featurelink:focus-visible{
  outline: 2px dashed rgba(101,81,232,.6) !important;
  outline-offset: 2px !important;
}

/* ========== Segunda fila (planes extra) ========== */
.kl-pricing--extra{
  overflow: hidden;
  transition: max-height .35s ease, opacity .25s ease, transform .35s ease, margin-top .35s ease;
  will-change: max-height, opacity, transform, margin-top;
  opacity: 0;
  transform: translateY(-8px);
  margin-top: 0;
}
.is-collapsed { max-height: 0; }
.is-expanded  { max-height: 4000px; opacity: 1; transform: translateY(0); margin-top: 32px; }

/* Saneo por si faltan clases de estado */
.kl-pricing--extra:not(.is-collapsed):not(.is-expanded){
  opacity: 1; transform: none; margin-top: 32px;
}

/* ========== Toggle global “Ver todos los planes” ========== */
.kl-plans-toggle{
  width: 100%; display: flex; justify-content: center; margin: 16px 0 0; padding: 0; list-style: none;
}
.kl-plans-toggle__item{ display: inline-flex; align-items: center; }
.kl-plans-toggle__link{ display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; text-decoration: none; }

.kl-plans-toggle__link.button.button--outlined{
  position: relative;
  border-radius: var(--btn-radius) !important;
  border: 2px solid transparent !important;
  border-image: unset !important;
  background-color: #fff !important;
  background-image: linear-gradient(90deg, var(--btn-g1), var(--btn-g2)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.kl-plans-toggle__link.button.button--outlined::before{
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2px;
  background: linear-gradient(90deg, var(--btn-g1), var(--btn-g2));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.kl-plans-toggle__link.button.button--outlined:hover,
.kl-plans-toggle__link.button.button--outlined:focus{
  background-image: linear-gradient(90deg, var(--btn-g2), var(--btn-g1)) !important;
}
.kl-plans-toggle__link.button.button--outlined:hover::before,
.kl-plans-toggle__link.button.button--outlined:focus::before{
  background: linear-gradient(90deg, var(--btn-g2), var(--btn-g1));
}
.kl-pricing .kl-plans-toggle__label{ line-height: 1; }
.kl-plans-toggle__link:focus-visible{
  outline: 2px dashed rgba(101,81,232,.6); outline-offset: 3px;
}

/* ========== TOOLTIP ========== */
.kl-feature__text[data-tooltip]{ position: relative; cursor: help; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.kl-feature__text:focus, .kl-feature__text:active, .kl-feature__text:focus-visible{ outline: none; box-shadow: none; }

.kl-tooltip{
  position: fixed; z-index: 2147483647; display: none;
  max-width: min(640px, calc(100vw - 32px)); min-width: 384px;
  padding: 11px 16px; font-size: 0.875rem; line-height: 1.45;
  border-radius: 12px; background: #ffffff; border: none;
  box-shadow: 0 12px 30px rgba(0,0,0,.18); opacity: 0; transform: translateY(-4px);
  pointer-events: none; transition: opacity .15s ease, transform .15s ease;
  box-sizing: border-box; word-break: normal; overflow-wrap: anywhere; hyphens: auto;
}
.kl-tooltip.is-visible{ display: block; opacity: 1; transform: translateY(0); }
.kl-tooltip::after{ content: ""; position: absolute; width: 10px; height: 10px; background: #ffffff; transform: rotate(45deg); }
.kl-tooltip.is-above::after{ bottom: -5px; left: 0; transform: translateX(calc(var(--arrow-x, 12px) - 5px)) rotate(45deg); }
.kl-tooltip.is-below::after{ top: -5px; left: 0; transform: translateX(calc(var(--arrow-x, 12px) - 5px)) rotate(45deg); }
.kl-tooltip p, .kl-tooltip li{ line-height: 1.5; margin: 0 0 0.6em; }

@media (max-width: 680px){
  .kl-tooltip{ min-width: 0; width: auto; max-width: calc(100vw - 24px); padding: 12px 14px; }
  .kl-tooltip p, .kl-tooltip li{ line-height: 1.55; }
}
@media (max-width: 360px){
  .kl-tooltip{ max-width: calc(100vw - 20px); padding: 10px 12px; }
}

/* ========== FIX MÓVIL badge ========== */
@media (max-width: 768px){
  .kl-pricing__card--featured{ padding-top: 30px !important; }
  .kl-pricing__card:has(.kl-pricing__badge){ padding-top: 30px !important; }
}
.kl-pricing-table {
  overflow-x: auto;
}

.kl-pricing-table > table {
  border: none;
  margin: 0;
  background: transparent;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table > table {
    width: 100%;
  }
}

.kl-pricing-table__features {
  position: relative;
  width: 250px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__features {
    width: 50%;
  }
}

.kl-pricing-table__plans {
  text-align: left;
  padding: 32px;
}

.kl-pricing-table__plans .button {
  width: 100%;
}

.kl-pricing-table__plans h3 {
  font-size: 18px;
}

.kl-pricing-table__plans h4, .kl-pricing-table__plans h5 {
  font-weight: bold;
  color: #400ea2;
}

.kl-pricing-table__plans > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.kl-pricing-table th, .kl-pricing-table td {
  vertical-align: middle;
  border: none;
}

.kl-pricing-table th {
  font-weight: normal;
  background: transparent;
  text-align: left;
}

.kl-pricing-table th p {
  color: #000000;
}

.kl-pricing-table th.kl-pricing-table__featured {
  background: #400ea2;
  color: white;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

.kl-pricing-table th.kl-pricing-table__featured h1, .kl-pricing-table th.kl-pricing-table__featured h2, .kl-pricing-table th.kl-pricing-table__featured h3, .kl-pricing-table th.kl-pricing-table__featured h4, .kl-pricing-table th.kl-pricing-table__featured h5, .kl-pricing-table th.kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table th.kl-pricing-table__featured .button {
  border-color: white;
  color: white;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table thead .kl-pricing-table__features {
    display: none;
  }
}

.kl-pricing-table tbody tr:first-child .kl-pricing-table__features {
  border-top-left-radius: 9px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table tbody tr:first-child .kl-pricing-table__features {
    border-top-left-radius: 0;
  }
}

.kl-pricing-table tbody tr:first-child td:before {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  top: 0;
  right: 0;
  background: #E0E9FF;
}

.kl-pricing-table tbody tr:first-child .kl-pricing-table__featured:before {
  display: none;
}

.kl-pricing-table tbody tr:last-child .kl-pricing-table__featured {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table tbody tr:last-child .kl-pricing-table__featured {
    border-bottom-left-radius: 0;
  }
}

.kl-pricing-table tbody tr:last-child .kl-pricing-table__features {
  border-bottom-left-radius: 9px;
}

.kl-pricing-table tbody tr + tr .kl-pricing-table__features:after {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  top: 0;
  right: 0;
  background: #E0E9FF;
}

.kl-pricing-table tbody .kl-pricing-table__features {
  position: relative;
  background: #400ea2;
  color: white;
  padding: 12px 38px 12px 32px;
}

.kl-pricing-table td {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 12px 16px;
}

.kl-pricing-table td img {
  display: block;
  margin: 0 auto;
}

.kl-pricing-table td:after {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
  right: 0;
  background: #E0E9FF;
  z-index: -1;
}

.kl-pricing-table td.kl-pricing-table__featured {
  background: #400ea2;
  color: white;
}

.kl-pricing-table td.kl-pricing-table__featured h3, .kl-pricing-table td.kl-pricing-table__featured h4, .kl-pricing-table td.kl-pricing-table__featured h5, .kl-pricing-table td.kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table td.kl-pricing-table__featured:after, .kl-pricing-table td.kl-pricing-table__featured:before {
  display: none;
}

.kl-pricing-table__navbar {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 3px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__navbar {
    display: flex;
  }
}

@media screen and (max-width: 480px) {
  .kl-pricing-table__navbar {
    display: block;
  }
}

.kl-pricing-table__navbar .kl-pricing-table__featured {
  background: #400ea2;
  border: none;
}

.kl-pricing-table__navbar .kl-pricing-table__featured h1, .kl-pricing-table__navbar .kl-pricing-table__featured h2, .kl-pricing-table__navbar .kl-pricing-table__featured h3, .kl-pricing-table__navbar .kl-pricing-table__featured h4, .kl-pricing-table__navbar .kl-pricing-table__featured h5, .kl-pricing-table__navbar .kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table__navbar .kl-pricing-table__featured:hover {
  background: #400ea2;
}

.kl-pricing-table__tab {
  flex-basis: 200px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
  border: 1px solid #e0e9ff;
}

.kl-pricing-table__tab h1, .kl-pricing-table__tab h2, .kl-pricing-table__tab h3, .kl-pricing-table__tab h4, .kl-pricing-table__tab h5, .kl-pricing-table__tab h6, .kl-pricing-table__tab p {
  margin: 0;
}

.kl-pricing-table__tab:hover {
  background: #e0e9ff;
  transition: background .25s ease-in-out;
  cursor: pointer;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__hide {
    display: none;
  }
}

.kl-pricing-table__tooltip {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fal' data-icon='info-circle' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='white' d='M256 40c118.621 0 216 96.075 216 216 0 119.291-96.61 216-216 216-119.244 0-216-96.562-216-216 0-119.203 96.602-216 216-216m0-32C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm-36 344h12V232h-12c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h48c6.627 0 12 5.373 12 12v140h12c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12h-72c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12zm36-240c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z'%3E%3C/path%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  position: absolute;
  right: 12px;
  top: 15px;
}
.kl-pricing-table-02 {
  overflow-x: auto;
}

.kl-pricing-table-02 > table {
  border: none;
  margin: 0;
  background: transparent;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02 > table {
    width: 100%;
  }
}

.kl-pricing-table-02__features {
  width: 250px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__features {
    width: 50%;
  }
}

.kl-pricing-table-02__plans {
  text-align: left;
  padding: 32px;
}

.kl-pricing-table-02__plans .button {
  width: 100%;
}

.kl-pricing-table-02__plans h3 {
  font-size: 18px;
}

.kl-pricing-table-02__plans h4, .kl-pricing-table-02__plans h5 {
  font-weight: bold;
  color: #400ea2;
}

.kl-pricing-table-02__plans > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.kl-pricing-table-02 th, .kl-pricing-table-02 td {
  vertical-align: middle;
  border: 1px solid #400ea2;
}

.kl-pricing-table-02 th {
  font-weight: normal;
  background: transparent;
  text-align: center;
}

.kl-pricing-table-02 th p {
  color: #000000;
}

.kl-pricing-table-02 thead .kl-pricing-table-02__features {
  border-top: none;
  border-left: none;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02 thead .kl-pricing-table-02__features {
    display: none;
  }
}

.kl-pricing-table-02 tbody .kl-pricing-table-02__features {
  position: relative;
  padding: 20px 20px 20px 32px;
}

.kl-pricing-table-02 td {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 12px 12px;
}

.kl-pricing-table-02 td img {
  display: block;
  margin: 0 auto;
}

.kl-pricing-table-02__navbar {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #400ea2;
  border-left: 1px solid #400ea2;
  border-right: 1px solid #400ea2;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__navbar {
    display: flex;
  }
}

@media screen and (max-width: 480px) {
  .kl-pricing-table-02__navbar {
    display: block;
  }
}

.kl-pricing-table-02__tab {
  flex-basis: 200px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
}

.kl-pricing-table-02__tab h1, .kl-pricing-table-02__tab h2, .kl-pricing-table-02__tab h3, .kl-pricing-table-02__tab h4, .kl-pricing-table-02__tab h5, .kl-pricing-table-02__tab h6, .kl-pricing-table-02__tab p {
  margin: 0;
}

.kl-pricing-table-02__tab:hover {
  cursor: pointer;
}

.kl-pricing-table-02__tab--active {
  background-color: #400ea2;
  color: white;
}

.kl-pricing-table-02__tab--active h1, .kl-pricing-table-02__tab--active h2, .kl-pricing-table-02__tab--active h3, .kl-pricing-table-02__tab--active h4, .kl-pricing-table-02__tab--active h5, .kl-pricing-table-02__tab--active p {
  color: inherit;
}

.kl-pricing-table-02__tab + .kl-pricing-table-02__tab {
  border-left: 1px solid #400ea2;
}

@media screen and (max-width: 480px) {
  .kl-pricing-table-02__tab + .kl-pricing-table-02__tab {
    border-left: none;
    border-top: 1px solid #400ea2;
  }
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__hide {
    display: none;
  }
}

.kl-pricing-table-02__highlight {
  background: #F2F5FB;
}

.kl-pricing-table-02__highlight th {
  font-weight: bold;
}
.kl-features-01 {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .kl-features-01 {
    display: block;
  }
}

.kl-features-01__card {
  flex-basis: 225px;
  flex-grow: 1;
}

.kl-features-01__card h4 {
  margin: 0 0 1rem;
}

.kl-features-01__card p {
  font-weight: 500;
}

.kl-features-01__card + .kl-features-01__card {
  margin-left: 64px;
}

@media screen and (max-width: 768px) {
  .kl-features-01__card + .kl-features-01__card {
    margin: 32px 0 0;
  }
}

.kl-features-01__image {
  min-height: 50px;
  margin: 0 0 24px;
  display: flex;
  align-items: center;
}

.kl-features-01__image img {
  display: block;
  width: auto;
  max-height: 50px;
  margin: 0;
}

.kl-features-01__image > span {
  display: block;
}

.kl-features-01__image svg {
  max-height: 50px;
  width: 50px;
  fill: #400ea2;
}
.kl-features-02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 -16px;
}

@media screen and (max-width: 530px) {
  .kl-features-02 {
    display: block;
  }
}

.kl-features-02-wrapper {
  overflow: hidden;
}

.kl-features-02__card {
  flex-basis: 225px;
  flex-grow: 1;
  margin: 16px;
  display: block;
}

.kl-features-02__card h4 {
  margin: 0;
  display: inline;
  vertical-align: top;
}

.kl-features-02__card p {
  font-weight: 500;
  margin: 1rem 0 0;
}

.kl-features-02__card-header {
  display: flex;
}

.kl-features-02__image {
  min-height: 24px;
  margin: 0 16px 0 0;
  display: inline-block;
}

.kl-features-02__image img {
  display: block;
  width: auto;
  max-height: 24px;
}

.kl-features-02__image > span {
  display: block;
}

.kl-features-02__image svg {
  max-height: 24px;
  width: 24px;
  fill: #400ea2;
}
.kl-features-03__titles li.active h4, .kl-features-03__titles li h4:hover, .kl-features-03__titles li h4:focus {
  cursor: pointer;
  color: #400ea2;
}

.kl-features-03__titles {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles {
    display: block;
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles li {
    background-color: #f3f3f3;
    text-align: center;
  }
  .kl-features-03__titles li + li {
    border-top: 1px solid #dadada;
  }
}

.kl-features-03__titles li.active h4:after {
  visibility: visible;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles li.active h4:after {
    visibility: hidden;
  }
}

.kl-features-03__titles li h4 {
  position: relative;
  display: inline-block;
  padding: 8px 0;
  margin: 0;
}

.kl-features-03__titles li h4:after {
  content: '';
  width: 0px;
  height: 2px;
  background-color: #400ea2;
  position: absolute;
  left: 0;
  bottom: 2px;
  visibility: hidden;
  transition: width .2s ease-in-out;
}

.kl-features-03__section {
  background-color: #F3F3F3;
  display: none;
}

.kl-features-03__section.active {
  display: flex;
  flex-wrap: wrap;
}

.kl-features-03__image {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  flex-basis: 360px;
  flex-grow: 1;
  display: flex;
}

.kl-features-03__image--left {
  justify-content: flex-start;
}

.kl-features-03__image--center {
  justify-content: center;
}

.kl-features-03__image--right {
  justify-content: flex-end;
}

.kl-features-03__image--top {
  align-items: flex-start;
}

.kl-features-03__image--middle {
  align-items: center;
}

.kl-features-03__image--bottom {
  align-items: flex-end;
}

.kl-features-03__image--cover {
  align-items: unset;
}

.kl-features-03__image--cover img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}

.kl-features-03__image--contain img {
  object-fit: contain;
}

.kl-features-03__content {
  padding: 54px 78px;
  flex-basis: 400px;
  flex-grow: 3;
}

@media screen and (max-width: 580px) {
  .kl-features-03__content {
    padding: 30px;
  }
}

.kl-features-03__text h3 {
  margin: 0 0 28px;
  max-width: 480px;
}

.kl-features-03__text p {
  margin: 0 0 64px;
  max-width: 600px;
}

.kl-features-03__buttons {
  display: flex;
  align-items: center;
}

.kl-features-03__primary-cta {
  margin: 0 35px 0 0;
}
.kl-card {
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  width: 100%;
  padding: 32px 25px;
  background-color: rgba(255, 255, 255, 1.0);
}

.kl-card__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  line-height: 1rem;
  margin: 0 0 .75rem;
}

.kl-card__content h1, .kl-card__content h2, .kl-card__content h3, .kl-card__content h4, .kl-card__content h5, .kl-card__content h6 {
  font-weight: bold;
  margin: 0 0 1rem;
}

.kl-card__content p {
  margin: 0 0 2rem;
}

.kl-card__image {
  margin: 0 0 1.75rem;
}

.kl-card__form {
  max-width: 600px;
}
.kl-testimonials {
  display: flex;
}

@media screen and (max-width: 920px) {
  .kl-testimonials {
    display: block;
  }
}

.kl-testimonial {
  padding: 18px 25px 25px;
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  flex-grow: 1;
  flex-basis: 300px;
}

.kl-testimonial + .kl-testimonial {
  margin-left: 64px;
}

@media screen and (max-width: 1024px) {
  .kl-testimonial + .kl-testimonial {
    margin-left: 16px;
  }
}

@media screen and (max-width: 920px) {
  .kl-testimonial + .kl-testimonial {
    margin: 16px 0 0;
  }
}

.kl-testimonial__quote {
  margin: 0 0 25px;
}

.kl-testimonial__quote svg {
  fill: #400ea2;
  height: 32px;
  max-height: 32px;
}

.kl-testimonial__content {
  font-weight: 500;
}

.kl-testimonial__footer {
  display: flex;
  align-items: center;
}

.kl-testimonial__footer img {
  display: block;
  object-fit: cover;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  margin: 0 16px 0 0;
}

.kl-testimonial__author {
  font-weight: bold;
}

.kl-testimonial__author span {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  font-size: 0.75rem;
  margin: 0 0 8px;
}
.kl-timeline__entry {
  position: relative;
  padding-bottom: 50px;
}

.kl-timeline__entry h1, .kl-timeline__entry h2, .kl-timeline__entry h3, .kl-timeline__entry h4, .kl-timeline__entry h5 {
  color: #400ea2;
}

.kl-timeline__entry p {
  margin: 0 0 1rem;
}

.kl-timeline__entry--odd {
  margin-right: 50%;
  padding-right: 50px;
  text-align: right;
}

.kl-timeline__entry--odd:before {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  transform: translateX(4px);
  right: 0;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--odd:before {
    transform: translateX(-5px);
    left: 0;
  }
}

.kl-timeline__entry--odd:after {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  height: 100%;
  right: 0;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--odd:after {
    left: 0;
  }
}

.kl-timeline__entry--even {
  margin-left: 50%;
  padding-left: 50px;
}

.kl-timeline__entry--even:before {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  transform: translateX(-5px);
  left: -1px;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--even:before {
    transform: translateX(-5px);
    left: 0;
  }
}

.kl-timeline__entry--even:after {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  height: 100%;
  left: -1px;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--even:after {
    left: 0;
  }
}

.kl-timeline__entry--last:after {
  display: none;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry {
    margin: 0;
    padding: 0 0 50px 50px;
    text-align: left;
  }
}

@media screen and (max-width: 420px) {
  .kl-timeline__entry {
    padding: 0 0 20px 20px;
  }
}
/***************************************************************************/
/************************   Menu and simple menu   *************************/
/***************************************************************************/
.hs-menu-wrapper ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */
.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Vertical menu */
.hs-menu-wrapper.hs-menu-flow-vertical ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* Flyouts */
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

.lang_switcher_class {
  display: flex !important;
}

.lang_list_class {
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
  padding: 0 !important;
  margin-top: 20px !important;
}

.lang_list_class:before {
  border: none !important;
  background: white;
  box-shadow: 0px 5px 10px rgba(154, 161, 177, 0.1);
}

.lang_list_class:after {
  top: -23px !important;
}

.lang_list_class li {
  word-break: keep-all;
  border-left: none !important;
  border-right: none !important;
}

.lang_list_class li:first-child {
  border-top: none !important;
}

.lang_list_class li:last-child {
  border-bottom: none !important;
}
/* Blog header */
.blog-header {
  background-color: rgba(242, 245, 251, 1.0);
  padding: 82px 0;
  /* Blog header - author listing */
}

.blog-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .blog-header__inner {
    display: block;
  }
}

.blog-header--author {
  background-color: transparent;
}

.blog-header--author .blog-header__inner {
  justify-content: flex-start;
  flex-wrap: nowrap;
}

@media screen and (max-width: 768px) {
  .blog-header--author .blog-header__inner {
    display: block;
  }
}

.blog-header__title {
  margin: 0 0 32px;
  max-width: 380px;
  flex-basis: 380px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .blog-header__title {
    max-width: none;
  }
}

.blog-header__title span {
  color: #400ea2;
}

.blog-header__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 .75rem;
}

.blog-header__image {
  margin-left: 32px;
}

@media screen and (max-width: 768px) {
  .blog-header__image {
    margin: 0 auto;
    max-width: 360px;
  }
}

.blog-header__image img {
  width: 100%;
}

.blog-header__author {
  flex-basis: 720px;
}

@media screen and (max-width: 768px) {
  .blog-header__author {
    margin: 32px 0 0;
  }
}

.blog-header__avatar {
  display: block;
  height: 360px;
  width: 100%;
  margin-right: 64px;
  max-width: 360px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  .blog-header__avatar {
    margin: 0 auto;
  }
}

@media screen and (max-width: 360px) {
  .blog-header__avatar {
    height: 300px;
  }
}

.blog-header__author-social-links {
  margin: 0 -8px;
}

.blog-header__author-social-links a {
  display: inline-block;
  border-radius: 50%;
  height: 24px;
  width: 24px;
  margin: 0 8px;
  position: relative;
}

.blog-header__author-social-links svg {
  fill: #000000;
  height: 100%;
  width: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.blog-filter {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  padding: 32px 0;
}

.blog-tags {
  list-style: none;
  padding: 0;
  margin: -7px;
  max-width: 680px;
}

.blog-tags li {
  display: inline-block;
  margin: 7px;
}

.blog-tags__link {
  background-color: rgba(64, 14, 162, 1.0);
  border: 1px solid rgba(64, 14, 162, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: Inter, sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
  padding: 12px 18px;
  border-radius: 3px;
  text-transform: uppercase;
  line-height: 1;
  font-size: 0.75rem;
  background-color: transparent;
  color: #dadada;
  border: 1px solid #dadada;
}

.blog-tags__link:hover, .blog-tags__link:focus, .blog-tags__link:active {
  background-color: rgba(59, 102, 201, 1.0);
  border-color: rgba(59, 102, 201, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}

.blog-tags__link:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

.blog-tags__link a {
  color: rgba(255, 255, 255, 1);
}

.blog-tags__link a:hover {
  color: white;
  text-decoration: none;
}

.blog-tags__link--current {
  background-color: #400ea2;
  border: none;
  color: white;
}

.blog-search {
  flex-basis: 400px;
  width: 100%;
  margin: 32px 0 0;
}

/* Blog listing */
.blog-index, .blog-more-posts {
  display: flex;
  flex-wrap: wrap;
  padding: 32px 0;
}

.blog-index:after, .blog-more-posts:after {
  content: "";
  flex: auto;
}

.blog-index__post-wrapper, .blog-more-posts__post-wrapper {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
  padding: 24px;
}

@media screen and (min-width: 768px) {
  .blog-index__post-wrapper, .blog-more-posts__post-wrapper {
    flex-basis: calc(100% / 2);
  }
}

@media screen and (min-width: 1000px) {
  .blog-index__post-wrapper, .blog-more-posts__post-wrapper {
    flex-basis: calc(100% / 3);
  }
}

.blog-index__post, .blog-more-posts__post {
  display: flex;
  flex-direction: column;
  border: 0.5px solid rgba(100, 146, 253, 0.2);
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.2);
  border-radius: 9px;
  height: 100%;
  overflow: hidden;
}

.blog-index__post img, .blog-more-posts__post img {
  height: auto;
  max-width: 100%;
}

.blog-index__post-content, .blog-more-posts__post-content {
  padding: 30px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  flex-grow: 1;
}

.blog-index__post-content h3, .blog-more-posts__post-content h3 {
  margin: 0 0 1rem;
}

.blog-index__post-content h3 a, .blog-more-posts__post-content h3 a {
  color: #000000;
}

.blog-index__post-content h3 a:hover, .blog-index__post-content h3 a:visited, .blog-more-posts__post-content h3 a:hover, .blog-more-posts__post-content h3 a:visited {
  color: #000000;
}

.blog-index__post-preheader, .blog-more-posts__post-preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 .75rem;
}

.blog-index__post-meta, .blog-more-posts__post-meta {
  display: flex;
  margin: 32px 0 0;
  color: #C6C6C6;
  font-size: .75rem;
  text-transform: uppercase;
}

.blog-index__post-meta span, .blog-more-posts__post-meta span {
  display: inline-block;
}

.blog-index__post-date, .blog-more-posts__post-date {
  margin-left: 54px;
}

.blog-index__post-image, .blog-more-posts__post-image {
  display: block;
  background-image: url('https://146335912.fs1.hubspotusercontent-eu1.net/hubfs/146335912/raw_assets/public/lixsa-theme/images/grayscale-mountain.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 63%;
}

.blog-index__author h2, .blog-more-posts__author h2 {
  margin: 32px 0 1.5rem;
}

.blog-index__author hr, .blog-more-posts__author hr {
  height: 2px;
  background-color: #DCDCDC;
}

/* Blog pagination */
.blog-pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 3rem;
}

.blog-pagination__link {
  font-family: Rubik, sans-serif;
  font-weight: bold;
  color: #000000;
  font-size: 1rem;
  line-height: 1;
  margin: 0 16px;
  text-decoration: none;
}

.blog-pagination__link:hover, .blog-pagination__link:focus {
  color: #400ea2;
  text-decoration: none;
}

.blog-pagination__link--active {
  color: #400ea2;
}

.blog-pagination__ellipsis {
  color: #000000;
  font-size: 1rem;
  line-height: 1;
}

/* Blog post */
.blog-header--post {
  min-height: 520px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.blog-post {
  margin: 0 auto;
  padding: 4.5rem 0;
}

.blog-post__meta {
  display: flex;
  align-items: center;
}

.blog-post__meta a {
  color: #C6C6C6;
  transition: color .25s ease-in;
}

.blog-post__meta a:hover {
  color: #400ea2;
  text-decoration: none;
}

.blog-post__timestamp {
  color: #C6C6C6;
}

.blog-post__divider {
  margin: 64px 0 52px;
}

.blog-post__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  margin-right: 38px;
}

.blog-post__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 1rem;
}

.blog-post__title {
  margin: 0 0 1rem;
  max-width: 680px;
}

.blog-post__summary {
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 2.5rem;
  max-width: 680px;
}

.blog-post__body-wrapper {
  max-width: 680px;
  margin: 0 auto;
}

.blog-post__body img {
  max-width: 100%;
}

.blog-post__tags {
  display: flex;
  flex-wrap: wrap;
}

.blog-post__tag-link {
  color: #400ea2;
  background-color: #e6edff;
  border-radius: 3px;
  font-size: 0.75rem;
  padding: 5px 10px;
  margin: 0 8px 8px 0;
}

/* Blog related posts */
.blog-more {
  padding: 2rem 0;
}

.blog-more--centered h2 {
  text-align: center;
}

/* Blog comments */
.blog-comments {
  margin: 0 auto;
  max-width: 680px;
}

.blog-comments form {
  max-width: 100%;
}

.blog-comments .hs-submit {
  text-align: center;
}

.blog-comments .comment-reply-to {
  border: 0 none;
  outline: none;
}

.blog-comments .comment-reply-to:hover {
  background-color: transparent;
  text-decoration: underline;
  color: #000000;
}
.kl-documentation__container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
}

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

@media screen and (max-width: 680px) {
  .kl-documentation__container {
    display: block;
  }
}

.kl-documentation__toc {
  width: 250px;
  position: -webkit-sticky;
  /* for Safari */
  position: sticky;
  top: 82px;
  height: calc(100vh - 82px);
  overflow-y: scroll;
  padding: 16px 16px 0 0;
  margin-right: 20px;
}

@media screen and (max-width: 680px) {
  .kl-documentation__toc {
    position: static;
    width: 100%;
    padding: 16px 0 0;
    margin: 0;
    overflow-y: auto;
    border-bottom: 1px solid #ececec;
    height: auto;
  }
}

.kl-documentation__toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kl-documentation__toc li {
  margin-bottom: 16px;
}

@media screen and (max-width: 680px) {
  .kl-documentation__toc li {
    margin-bottom: 8px;
  }
}

.kl-documentation__toc a {
  color: #000000;
}

.kl-documentation__contents {
  padding: 16px 0;
  width: calc(100% - 269px);
}

@media screen and (max-width: 680px) {
  .kl-documentation__contents {
    width: 100%;
  }
}

.kl-documentation__module {
  position: relative;
  margin: 0 0 32px;
  padding: 0 0 32px;
  scroll-margin-top: 82px;
}

.kl-documentation__module:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #ececec;
}

.kl-documentation__module-preview {
  margin: 0 0 32px;
}

.kl-documentation__fields {
  table-layout: fixed;
  width: 100%;
  margin: 0;
}

.kl-documentation__fields .depth0 {
  background-color: #f5f5f5;
}

.kl-documentation__fields thead th {
  font-size: 14px;
  padding: 12px;
  font-weight: bold;
  text-align: left;
  color: black;
  background-color: #d7ddec;
}

.kl-documentation__fields th, .kl-documentation__fields td {
  border: 1px solid #c0cbe4;
  padding: 6px 12px;
  font-size: 12px;
}

.kl-documentation .content-wrapper {
  padding: 0 20px !important;
}
/* Error pages */
.kl-error-page {
  padding: 100px 0;
  text-align: center;
}

.kl-error-page__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 0.5rem;
}

.kl-error-page__heading {
  margin: 0 0 1rem;
}

/* System pages */
.systems-page__content {
  margin: 0 auto;
  max-width: 620px;
  padding: 120px 20px;
}

.systems-page .success {
  color: #34A853;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

.systems-page h1 {
  margin: 0 0 4rem;
  text-align: center;
}

@media screen and (max-width: 360px) {
  .systems-page h1 {
    margin: 0 0 2rem;
    font-size: 2rem;
  }
}

.systems-page--membership {
  background-image: url(https://146335912.fs1.hubspotusercontent-eu1.net/hubfs/146335912/raw_assets/public/lixsa-theme/images/Hero-Background-2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.systems-page--membership h1 {
  margin: 0 0 1rem;
}

.systems-page--membership p {
  margin: 0 0 3rem;
  text-align: center;
}

.systems-page--membership form .hs-submit input, .systems-page--membership form input[type="submit"] {
  width: 100%;
}

.systems-page--subscription-confirmation h1 {
  display: none;
  margin: 0 0 1.5rem;
}

.systems-page--subscription-confirmation h2 {
  color: #3A3A3A;
  font-size: 1rem;
  margin: 0;
}

.systems-page--subscription-confirmation .page-header {
  text-align: center;
  margin: 0 0 2rem;
}

.systems-page--subscription-preferences .page-header {
  text-align: center;
  margin: 0 0 2rem;
}

.systems-page--subscription-preferences h1 {
  margin: 0 0 1.5rem;
}

.systems-page--subscription-preferences h2 {
  color: #3A3A3A;
  font-size: 1rem;
  margin: 0;
}

.systems-page--subscription-preferences .email-prefs {
  padding: 32px;
  border: 1px solid #DAE3F9;
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.1);
  border-radius: 10px;
}

.systems-page--subscription-preferences .email-prefs p, .systems-page--subscription-preferences .email-prefs span, .systems-page--subscription-preferences .email-prefs label {
  font-size: 0.875rem;
  line-height: 1rem;
  vertical-align: text-top;
  font-weight: normal;
}

@media screen and (max-width: 360px) {
  .systems-page--subscription-preferences .email-prefs {
    padding: 18px;
  }
}

.systems-page--subscription-preferences input[type="checkbox"] {
  margin-right: 12px;
}

.systems-page__preheader {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #400ea2;
  display: block;
  margin: 0 0 0.5rem;
  text-align: center;
}

.systems-page form {
  position: relative;
}

.systems-page form .hs-form-field {
  position: relative;
}

.systems-page form .form-input-validation-message ul {
  padding: 0;
}

.systems-page form .form-input-validation-message label {
  color: #929292;
  font-size: 0.875rem;
  font-weight: normal;
}

.systems-page form .hs-login-widget-show-password,
.systems-page form .hs-register-widget-show-password,
.systems-page form .hs-reset-widget-show-password {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  font-weight: bold;
  color: #400ea2;
}

.systems-page form .hs-login-widget-show-password:hover, .systems-page form .hs-login-widget-show-password:focus,
.systems-page form .hs-register-widget-show-password:hover,
.systems-page form .hs-register-widget-show-password:focus,
.systems-page form .hs-reset-widget-show-password:hover,
.systems-page form .hs-reset-widget-show-password:focus {
  color: #400ea2;
  text-decoration: none;
}

.systems-page form #hs_login_reset {
  position: absolute;
  top: 100%;
  left: 0;
  display: block;
  margin: 1rem 0 0;
  z-index: 1;
  color: #400ea2;
  font-size: 0.875rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
}

.systems-page form input {
  max-width: 100%;
}

.systems-page .form-container {
  max-width: 380px;
  margin: 0 auto 3rem;
}

.systems-page .form-container .label {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  margin: 0 0 0.75rem;
}

#email-prefs-form .header {
  background-color: transparent;
}

/* Password prompt */
.password-prompt input[type=password] {
  display: block;
  height: auto !important;
  margin-bottom: 1.4rem;
}

/* Backup unsubscribe */
.backup-unsubscribe h3 {
  font-size: 0.875rem;
  font-weight: bold !important;
  line-height: 1rem;
  margin: 0 0 0.75rem;
}

.backup-unsubscribe #email-prefs-form {
  padding: 42px 32px;
  border: 1px solid #DAE3F9;
  box-shadow: 0px 11px 30px rgba(154, 161, 177, 0.1);
  border-radius: 10px;
}

.backup-unsubscribe #email-prefs-form div {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 360px) {
  .backup-unsubscribe #email-prefs-form {
    padding: 32px 18px;
  }
}

.backup-unsubscribe input[type=email] {
  margin-bottom: 1.5rem;
  padding: 0.7rem !important;
  font-size: 0.875rem !important;
  border: 1px solid #DADADA;
}

/* Search pages */
.hs-search-field {
  max-width: 750px;
}

.hs-search-field input[type=text] {
  padding-right: 48px;
}

.hs-search-field__bar {
  position: relative;
}

.hs-search-field__bar:after {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4-4' stroke='%23C6C6C6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.hs-search-field__suggestions {
  background-color: #FFF;
  max-width: 360px;
  position: absolute;
  right: 0;
  top: 100%;
  transform: translateY(8px);
  border-radius: 9px;
  width: 100%;
}

.hs-search-field__suggestions a, .hs-search-field__suggestions #results-for {
  padding: 8px 16px;
}

.hs-search-field--open .hs-search-field__suggestions {
  border: 1px solid #dedede !important;
}

.kl-search-results {
  padding: 80px 0;
}

.hs-search-results {
  margin-top: 3.5rem;
}

.hs-search-results__featured-image {
  margin-bottom: 1rem;
}

.hs-search-results__featured-image img {
  display: block;
  max-width: 100%;
  width: 100%;
}

.hs-search-results__title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: Rubik, sans-serif;
}

.hs-search-results__title:hover, .hs-search-results__title:focus {
  color: #400ea2;
  text-decoration: none;
}

.hs-search-results__description {
  padding-top: 1.25rem;
  margin: 0 0 2.5rem;
}

.hs-search-results__pagination a {
  color: #000000;
  font-family: Rubik, sans-serif;
  font-weight: bold;
}

.hs-search-results__listing {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px !important;
}

.hs-search-results__listing li {
  flex-basis: calc(100% / 2);
  padding: 0 20px !important;
}

@media screen and (max-width: 620px) {
  .hs-search-results__listing li {
    flex-basis: 100%;
  }
}

.hs-search-highlight {
  font-weight: bold;
}
.no-scroll {
  overflow: hidden;
}