.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-5c5dc35:#F4F1EE;--e-global-color-36bf832:#1D304F;--e-global-color-0dbb346:#FABD26;--e-global-color-0df44e4:#6AB4B9;--e-global-color-503bc29:#F4F1EE;--e-global-color-aa83ace:#FFFFFF;--e-global-color-cfffeee:#1D304F;--e-global-color-c430694:#F4F1EE;--e-global-color-39fd1c8:#FABD26;--e-global-color-0c4f192:#FABD26;--e-global-color-86eb56a:#6AB4B9;--e-global-color-8de8fdd:#E5DED7;--e-global-color-70b6bf3:#CFC5BC;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-30ba3c4-font-family:"Unbounded";--e-global-typography-30ba3c4-font-weight:700;--e-global-typography-30ba3c4-text-transform:uppercase;--e-global-typography-03c58ff-font-family:"Unbounded";--e-global-typography-03c58ff-text-transform:uppercase;--e-global-typography-3ce7031-font-family:"Unbounded";--e-global-typography-3ce7031-font-weight:700;--e-global-typography-3ce7031-text-transform:uppercase;--e-global-typography-ed54058-font-family:"Unbounded";--e-global-typography-ed54058-font-weight:700;--e-global-typography-ed54058-text-transform:uppercase;--e-global-typography-308ab35-font-family:"Unbounded";--e-global-typography-308ab35-font-weight:700;--e-global-typography-308ab35-text-transform:uppercase;--e-global-typography-6cc8d2f-font-family:"Unbounded";--e-global-typography-6cc8d2f-font-weight:700;--e-global-typography-6cc8d2f-text-transform:uppercase;--e-global-typography-de7de6b-font-family:"Unbounded";--e-global-typography-de7de6b-font-weight:700;--e-global-typography-de7de6b-text-transform:uppercase;--e-global-typography-098a474-font-family:"Space Grotesk";--e-global-typography-aab0807-font-family:"Space Grotesk";--e-global-typography-5d6b609-font-family:"Space Grotesk";--e-global-typography-460ff64-font-family:"Space Grotesk";--e-global-typography-460ff64-font-weight:700;--e-global-typography-1609275-font-family:"Space Grotesk";}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:768px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:390px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --e-gv-ffb6f97:#0D1F31; --e-gv-0f2694d:#081522; --e-gv-7a400c2:#25D366; --e-gv-32d932d:#1DA851; --e-gv-b211dc7:#FABD26; --e-gv-5757d32:#2FA8BF; --e-gv-a0ba750:#1B6E8C; --e-gv-09815d3:#F2F7F9; --e-gv-1f8d393:#DCE6EA; --e-gv-1d1de2a:#5B7183; --e-gv-722c8b3:Unbounded; --e-gv-0e432da:Inter; }
/* Start custom CSS *//* ==========================================================
   KPT — SISTEMA GLOBAL LIMPIO
   Tipografía + utilidades visuales reutilizables
   Ajustado con fix global de overflow móvil
   ========================================================== */

/* =========================
   VARIABLES GLOBALES
   ========================= */

:root{

  /* Colores */
  --kpt-cream: #F4F1EE;
  --kpt-navy: #1D304F;
  --kpt-yellow: #FABD26;
  --kpt-sky: #6AB4B9;

  --kpt-text: #1D304F;
  --kpt-text-inverse: #F4F1EE;

  /* Bordes */
  --kpt-border-navy: 2px solid #1D304F;
  --kpt-border-yellow: 2px solid #FABD26;

  /* Radios */
  --kpt-radius-s: 8px;
  --kpt-radius-m: 16px;

  /* Sombra */
  --kpt-shadow-soft: 0px 4px 4px rgba(29, 48, 79, 0.25);

  /* Layout */
  --kpt-container-max: 1280px;
  --kpt-pad-desktop: 32px;
  --kpt-pad-tablet: 24px;
  --kpt-pad-mobile: 16px;

  /* Spacing */
  --kpt-space-2xs: 4px;
  --kpt-space-xs: 8px;
  --kpt-space-s: 16px;
  --kpt-space-m: 24px;
  --kpt-space-l: 32px;
  --kpt-space-xl: 40px;
  --kpt-space-2xl: 48px;
  --kpt-space-3xl: 64px;
  --kpt-space-4xl: 96px;
  --kpt-space-5xl: 128px;

  /* Tipografía base */
  --kpt-h1: clamp(24px, 1.85vw, 72px);
  --kpt-h2: clamp(21px, 1.35vw, 46px);
  --kpt-h3: clamp(18px, 1vw, 32px);
  --kpt-h4: clamp(18px, 0.9vw, 26px);

  --kpt-body-l: clamp(17px, 0.95vw, 22px);
  --kpt-body: clamp(16px, 0.75vw, 18px);
  --kpt-small: clamp(14px, 0.7vw, 16px);
  --kpt-button: clamp(14px, 0.7vw, 16px);

  /* Display / números grandes */
  --kpt-display-num: clamp(102px, 13.49vw, 270px);
  --kpt-display-num-lh: 0.82;
  --kpt-display-num-tracking: -0.06em;

  /* Cómo empezar */
  --kpt-start-title-size: clamp(18px, 1.59vw, 24px);
  --kpt-start-title-lh: 1.02;
  --kpt-start-title-tracking: -0.02em;

  --kpt-start-text-size: var(--kpt-body);
  --kpt-start-text-lh: 1.55;

  --kpt-start-step-gap-x: clamp(18px, 2vw, 42px);
  --kpt-start-step-gap-y: 8px;
  --kpt-start-step-pad-y: clamp(18px, 1.8vw, 28px);
  --kpt-start-divider: rgba(29, 48, 79, 0.16);

  /* Márgenes responsive */
  --kpt-margin-s: 24px;
  --kpt-margin-l: 48px;

  /* Método */
  --kpt-method-card-width: 100%;
  --kpt-method-card-min-h: clamp(420px, 58vh, 620px);
  --kpt-method-gap: clamp(16px, 2vw, 24px);
  --kpt-method-pad: clamp(18px, 2vw, 24px);
  --kpt-method-inner-gap: 12px;

  --kpt-method-label-size: clamp(16px, 0.95vw, 20px);
  --kpt-method-title-size: clamp(28px, 2.8vw, 56px);
  --kpt-method-body-size: clamp(14px, 0.95vw, 18px);
}

/* ==========================================================
   KPT — TIPOGRAFÍA REVISADA
   Ajustada a:
   H1 → 24 / 46 / 72
   H2 → 21 / 40 / 46
   H3 → 18 / 24 / 32
   ========================================================== */

:root{
  --kpt-h1: clamp(24px, 16.35px + 1.96vw, 46px);
  --kpt-h2: clamp(21px, 14.40px + 1.69vw, 40px);
  --kpt-h3: clamp(18px, 15.91px + 0.53vw, 24px);
  --kpt-h4: clamp(18px, 16.61px + 0.36vw, 22px);

  --kpt-body-l: clamp(17px, 15.96px + 0.27vw, 20px);
  --kpt-body: clamp(16px, 15.31px + 0.18vw, 18px);
  --kpt-small: clamp(14px, 13.31px + 0.18vw, 16px);
  --kpt-button: clamp(14px, 13.31px + 0.18vw, 16px);
}

/* =========================
   BREAKPOINTS DE MÁRGENES
   ========================= */

@media (min-width: 1201px){
  :root{
    --kpt-margin-s: clamp(24px, 4.95vw - 35.46px, 40px);
    --kpt-margin-l: clamp(48px, 19.81vw - 189.84px, 112px);
  }
}

@media (min-width: 1512px){
  :root{
    --kpt-h1: clamp(46px, 8.50px + 2.48vw, 72px);
    --kpt-h2: clamp(40px, 31.34px + 0.57vw, 46px);
    --kpt-h3: clamp(24px, 12.47px + 0.76vw, 32px);

    --kpt-margin-s: clamp(40px, 5vw, 192px);
    --kpt-margin-l: clamp(112px, 12vw, 600px);

    --kpt-method-card-width: 100%;
  }
}

@media (min-width: 1920px){
  :root{
    --kpt-display-num: clamp(204px, 12vw, 270px);
  }
}

@media (max-width: 1200px){
  :root{
    --kpt-margin-s: 24px;
    --kpt-margin-l: 48px;
    --kpt-method-card-width: 100%;
    --kpt-method-card-min-h: auto;
    --kpt-method-title-size: clamp(26px, 4vw, 44px);
  }
}

@media (max-width: 767px){
  :root{
    --kpt-margin-s: 16px;
    --kpt-margin-l: 32px;
    --kpt-method-card-width: 100%;
    --kpt-method-pad: 18px;
    --kpt-method-title-size: clamp(24px, 8vw, 36px);
  }
}

/* =========================
   FIX GLOBAL OVERFLOW
   ========================= */

html,
body{
  max-width: 100%;
  overflow-x: hidden;
}

body{
  position: relative;
}

.elementor,
.elementor-section,
.elementor-container,
.e-con,
.e-parent,
.e-child,
.elementor-widget,
.elementor-column,
.elementor-element{
  max-width: 100%;
  min-width: 0;
}

img,
svg,
video,
canvas,
iframe{
  max-width: 100%;
  height: auto;
}

table{
  max-width: 100%;
  display: block;
  overflow-x: auto;
}

p,
h1, h2, h3, h4, h5, h6,
li,
a,
span{
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* =========================
   TIPOGRAFÍA
   ========================= */

h1, .kpt-h1{
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-h1);
  line-height: 0.98;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0;
}

h2, .kpt-h2{
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-h2);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0;
}

h3, .kpt-h3{
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-h3);
  line-height: 1.02;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0;
}

h4, .kpt-h4{
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-h4);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
}

/* Display numérico reusable */
.kpt-display-num,
.kpt-display-num.elementor-heading-title,
.elementor-widget-heading .kpt-display-num{
  font-family: "Unbounded", sans-serif !important;
  font-weight: 700 !important;
  font-size: var(--kpt-display-num) !important;
  line-height: var(--kpt-display-num-lh) !important;
  letter-spacing: var(--kpt-display-num-tracking) !important;
  text-transform: uppercase !important;
  color: var(--kpt-navy) !important;
  margin: 0 !important;
  display: block;
  white-space: nowrap;
}

body,
p,
.kpt-body{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 400;
  font-size: var(--kpt-body);
  line-height: 1.55;
  letter-spacing: 0;
}

p{
  margin: 0;
}

.kpt-body-l{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 500;
  font-size: var(--kpt-body-l);
  line-height: 1.5;
  letter-spacing: 0;
}

.kpt-small{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 400;
  font-size: var(--kpt-small);
  line-height: 1.45;
  letter-spacing: 0;
}

button,
.elementor-button,
.kpt-button{
  font-family: "Space Grotesk", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-button);
  line-height: 1;
  letter-spacing: 0.01em;
}

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

.kpt-section-inner{
  width: 100%;
  max-width: var(--kpt-container-max);
  margin: 0 auto;
  padding-left: var(--kpt-pad-desktop);
  padding-right: var(--kpt-pad-desktop);
}

@media (max-width: 1024px){
  .kpt-section-inner{
    padding-left: var(--kpt-pad-tablet);
    padding-right: var(--kpt-pad-tablet);
  }
}

@media (max-width: 767px){
  .kpt-section-inner{
    padding-left: var(--kpt-pad-mobile);
    padding-right: var(--kpt-pad-mobile);
  }
}

/* =========================
   UTILIDADES VISUALES
   ========================= */

.kpt-shadow-soft{
  box-shadow: var(--kpt-shadow-soft);
}

.kpt-radius-s{
  border-radius: var(--kpt-radius-s);
}

.kpt-radius-m{
  border-radius: var(--kpt-radius-m);
}

.kpt-border-navy{
  border: var(--kpt-border-navy);
}

.kpt-border-yellow{
  border: var(--kpt-border-yellow);
}

.kpt-border-navy-s{
  border: var(--kpt-border-navy);
  border-radius: var(--kpt-radius-s);
}

.kpt-border-yellow-s{
  border: var(--kpt-border-yellow);
  border-radius: var(--kpt-radius-s);
}

.kpt-border-navy-m{
  border: var(--kpt-border-navy);
  border-radius: var(--kpt-radius-m);
}

.kpt-border-yellow-m{
  border: var(--kpt-border-yellow);
  border-radius: var(--kpt-radius-m);
}

.kpt-card-navy{
  border: var(--kpt-border-navy);
  border-radius: var(--kpt-radius-s);
  box-shadow: var(--kpt-shadow-soft);
}

.kpt-card-yellow{
  border: var(--kpt-border-yellow);
  border-radius: var(--kpt-radius-s);
  box-shadow: var(--kpt-shadow-soft);
}

.kpt-card-navy-m{
  border: var(--kpt-border-navy);
  border-radius: var(--kpt-radius-m);
  box-shadow: var(--kpt-shadow-soft);
}

.kpt-card-yellow-m{
  border: var(--kpt-border-yellow);
  border-radius: var(--kpt-radius-m);
  box-shadow: var(--kpt-shadow-soft);
}

/* ==========================================================
   KPT — SISTEMA DE MÁRGENES + BOTONES FULL WIDTH
   ========================================================== */

.kpt-margin-s{
  padding-left: var(--kpt-margin-s);
  padding-right: var(--kpt-margin-s);
}

.kpt-margin-l{
  padding-left: var(--kpt-margin-l);
  padding-right: var(--kpt-margin-l);
}

.kpt-btn-full,
.kpt-btn-full .elementor-button{
  width: 100%;
}

.kpt-btn-full .elementor-button{
  display: block;
  text-align: center;
}

/* ==========================================
   KPT / CHAMAKO — REVEAL LETTERS
   ========================================== */

.reveal-letters,
.reveal-letters .elementor-widget-container,
.reveal-letters .elementor-heading-wrapper,
.reveal-letters .elementor-heading-title,
.reveal-letters h1,
.reveal-letters h2,
.reveal-letters h3,
.reveal-letters h4,
.reveal-letters p{
  overflow: visible;
}

.reveal-letters .word{
  display: inline-block;
  white-space: nowrap;
}

.reveal-letters .char{
  display: inline-block;
  opacity: 0;
  transform: translateY(0.6em);
  transition:
    opacity .7s cubic-bezier(.22,1,.36,1),
    transform .7s cubic-bezier(.22,1,.36,1);
  transition-delay: calc(var(--d) * 0.04s);
  will-change: opacity, transform;
}

.reveal-letters.is-visible .char{
  opacity: 1;
  transform: translateY(0);
}

/* ==========================================================
   KPT — CÓMO EMPEZAR / 4 PASOS
   Layout + composición + reveal
   ========================================================== */

.kpt-start-section{
  position: relative;
}

.kpt-start-list{
  display: flex;
  flex-direction: column;
}

.kpt-start-step{
  position: relative;
  display: grid;
  grid-template-columns: minmax(110px, clamp(110px, 17vw, 300px)) 1fr;
  column-gap: var(--kpt-start-step-gap-x);
  row-gap: var(--kpt-start-step-gap-y);
  align-items: start;
  padding: var(--kpt-start-step-pad-y) 0;
  border-bottom: 1px solid var(--kpt-start-divider);

  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.8s cubic-bezier(.22,1,.36,1),
    transform 0.8s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}

.kpt-start-step:first-child{
  border-top: 1px solid var(--kpt-start-divider);
}

.kpt-start-step.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.kpt-start-num-wrap{
  position: relative;
  overflow: visible;
  transform: translateY(-0.04em);
}

.kpt-start-num,
.kpt-start-num.elementor-heading-title,
.kpt-start-num-wrap .elementor-heading-title.kpt-start-num{
  opacity: 0;
  transform: translateX(-22px) scale(0.96);
  transition:
    opacity 0.9s cubic-bezier(.22,1,.36,1),
    transform 0.9s cubic-bezier(.22,1,.36,1);
}

.kpt-start-step.is-visible .kpt-start-num,
.kpt-start-step.is-visible .kpt-start-num.elementor-heading-title,
.kpt-start-step.is-visible .kpt-start-num-wrap .elementor-heading-title.kpt-start-num{
  opacity: 1;
  transform: translateX(0) scale(1);
}

.kpt-start-content{
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 0.7vw, 10px);
  padding-top: clamp(6px, 1vw, 16px);

  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.7s cubic-bezier(.22,1,.36,1),
    transform 0.7s cubic-bezier(.22,1,.36,1);
  transition-delay: .08s;
}

.kpt-start-step.is-visible .kpt-start-content{
  opacity: 1;
  transform: translateY(0);
}

.kpt-start-heading{
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-start-title-size);
  line-height: var(--kpt-start-title-lh);
  letter-spacing: var(--kpt-start-title-tracking);
  text-transform: uppercase;
  color: var(--kpt-navy);
}

.kpt-start-text{
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 400;
  font-size: var(--kpt-start-text-size);
  line-height: var(--kpt-start-text-lh);
  letter-spacing: 0;
  color: var(--kpt-text);
  max-width: 62ch;
}

.kpt-start-step:nth-child(1){ transition-delay: 0s; }
.kpt-start-step:nth-child(2){ transition-delay: .04s; }
.kpt-start-step:nth-child(3){ transition-delay: .08s; }
.kpt-start-step:nth-child(4){ transition-delay: .12s; }

@media (hover:hover){
  .kpt-start-step:hover .kpt-start-num{
    transform: translateX(4px) scale(1.02);
  }
}

@media (max-width: 1200px){
  .kpt-start-step{
    grid-template-columns: minmax(90px, 130px) 1fr;
  }
}

@media (max-width: 767px){
  .kpt-start-step{
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 18px 0;
  }

  .kpt-start-num-wrap{
    transform: none;
  }

  .kpt-start-content{
    padding-top: 0;
  }

  .kpt-start-text{
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce){
  .kpt-start-step,
  .kpt-start-num,
  .kpt-start-content{
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ==========================================================
   KPT — MÉTODO SIMPLE
   Solo track + cards
   Intro fuera del módulo
   ========================================================== */

.kpt-method-section{
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;

  scrollbar-width: none;
  -ms-overflow-style: none;
}

.kpt-method-section::-webkit-scrollbar{
  display: none;
}

.kpt-method-track{
  display: flex;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  justify-content: flex-start;
  gap: var(--kpt-method-gap);

  width: max-content;
  min-width: 100%;
  max-width: 100%;
}

.kpt-method-card{
  box-sizing: border-box;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: var(--kpt-method-card-min-h);

  flex-shrink: 0 !important;
  flex-grow: 0 !important;

  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--kpt-method-inner-gap);

  padding: var(--kpt-method-pad);
  background: var(--kpt-navy);
  border: var(--kpt-border-yellow);
  border-radius: 0;
  box-shadow: none;
}

.kpt-method-copy{
  flex: 1 1 58%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.kpt-method-copy > h3{
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-method-label-size);
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--kpt-yellow);
  width: 100%;
  max-width: 100%;
}

.kpt-method-copy > div{
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.2vw, 18px);
  width: 100%;
  max-width: 100%;
}

.kpt-method-copy h2{
  margin: 0;
  font-family: "Unbounded", sans-serif;
  font-weight: 700;
  font-size: var(--kpt-method-title-size);
  line-height: 0.9;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--kpt-yellow);
  width: 100%;
  max-width: 100%;
}

.kpt-method-copy p{
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  font-weight: 400;
  font-size: var(--kpt-method-body-size);
  line-height: 1.45;
  color: var(--kpt-yellow);
  width: 100%;
  max-width: 100%;
}

.kpt-method-media{
  flex: 0 0 min(36%, 380px);
  display: flex;
  align-items: flex-end;
  min-width: 0;
}

.kpt-method-media img{
  width: 100%;
  height: 100%;
  min-height: clamp(280px, 38vh, 440px);
  object-fit: cover;
  border: none;
  border-radius: var(--kpt-radius-s);
  display: block;
}

/* Desktop grande */
@media (min-width: 1512px){
  :root{
    --kpt-method-card-min-h: clamp(480px, 62vh, 700px);
  }
}

/* Tablet */
@media (max-width: 1200px){
  :root{
    --kpt-method-card-width: 100%;
    --kpt-method-card-min-h: auto;
    --kpt-method-title-size: clamp(26px, 4vw, 44px);
  }

  .kpt-method-card{
    flex-direction: column-reverse;
    gap: 18px;
  }

  .kpt-method-copy{
    gap: 18px;
    justify-content: flex-start;
  }

  .kpt-method-media{
    flex: 0 0 auto;
  }

  .kpt-method-media img{
    min-height: 280px;
    max-height: 380px;
  }
}

/* Móvil */
@media (max-width: 767px){
  :root{
    --kpt-method-card-width: 100%;
    --kpt-method-pad: 18px;
    --kpt-method-title-size: clamp(24px, 8vw, 36px);
  }

  .kpt-method-section{
    width: 100% !important;
    max-width: 100% !important;
  }

  .kpt-method-track{
    width: max-content;
    min-width: 100%;
  }

  .kpt-method-card{
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .kpt-method-copy > div{
    gap: 12px;
  }

  .kpt-method-media img{
    min-height: 240px;
    max-height: 320px;
  }
}

/* ==========================================================
   KPT — FAQ SECTION
   Accordion visual con icono + grande a la izquierda
   ========================================================== */

.kpt-faq-section{
  position: relative;
}

.kpt-faq-intro{
  margin-bottom: clamp(32px, 4vw, 72px);
}

/* ---------- ACCORDION BASE ---------- */

.kpt-faq-accordion .elementor-accordion{
  border-top: none;
}

.kpt-faq-accordion .elementor-accordion-item{
  border: none !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(29, 48, 79, 0.35) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ---------- TITLE ROW ---------- */

.kpt-faq-accordion .elementor-tab-title{
  position: relative;
  display: block;
  padding:
    clamp(22px, 2.4vw, 34px)
    0
    clamp(22px, 2.4vw, 34px)
    clamp(110px, 12vw, 180px) !important;
  border: none !important;
  background: transparent !important;
  min-height: clamp(84px, 8vw, 120px);
}

/* texto pregunta */
.kpt-faq-accordion .elementor-accordion-title{
  display: block;
  color: var(--e-global-color-text, #1D304F);
  font-family: "Unbounded", sans-serif;
  font-size: clamp(24px, 2.1vw, 44px);
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  max-width: 900px;
}

/* ---------- ICONO IZQUIERDA ---------- */

.kpt-faq-accordion .elementor-accordion-icon{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(72px, 8vw, 120px);
  height: clamp(72px, 8vw, 120px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1D304F;
  font-size: clamp(42px, 5vw, 78px);
  line-height: 1;
}

/* elimina offsets raros del icono */
.kpt-faq-accordion .elementor-accordion-icon i,
.kpt-faq-accordion .elementor-accordion-icon svg{
  width: 1em;
  height: 1em;
}

/* ---------- CONTENT ---------- */

.kpt-faq-accordion .elementor-tab-content{
  border: none !important;
  background: transparent !important;
  padding:
    0
    0
    clamp(24px, 2.8vw, 40px)
    clamp(110px, 12vw, 180px) !important;
  color: var(--e-global-color-text, #1D304F);
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(15px, 1.1vw, 20px);
  line-height: 1.35;
  font-weight: 400;
  max-width: 920px;
}

/* listas dentro de respuestas */
.kpt-faq-accordion .elementor-tab-content ul{
  margin: 0.5em 0 0 1.1em;
  padding: 0;
}

.kpt-faq-accordion .elementor-tab-content li{
  margin-bottom: 0.15em;
}

/* ---------- HOVER / ACTIVE ---------- */

.kpt-faq-accordion .elementor-tab-title:hover .elementor-accordion-title{
  opacity: 0.8;
}

.kpt-faq-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{
  opacity: 1;
}

/* ---------- MOBILE ---------- */

@media (max-width: 767px){

  .kpt-faq-accordion .elementor-tab-title{
    padding:
      20px
      0
      20px
      64px !important;
    min-height: auto;
  }

  .kpt-faq-accordion .elementor-tab-content{
    padding:
      0
      0
      20px
      64px !important;
  }

  .kpt-faq-accordion .elementor-accordion-icon{
    width: 40px;
    height: 40px;
    font-size: 32px;
    top: 26px;
    transform: none;
  }

  .kpt-faq-accordion .elementor-accordion-title{
    font-size: clamp(18px, 6vw, 26px);
    line-height: 1;
  }

  .kpt-faq-accordion .elementor-tab-content{
    font-size: 15px;
    line-height: 1.4;
  }
}

/* ==========================================================
   KPT — FAQ STATIC
   Versión abierta (más aire y respiración)
   ========================================================== */

.kpt-faq-section{
  position: relative;
}

.kpt-faq-intro{
  margin-bottom: clamp(40px, 5vw, 90px);
}

/* LISTA MÁS ANCHA */
.kpt-faq-list{
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ITEM */
.kpt-faq-item{
  display: grid;
  grid-template-columns: clamp(100px, 9vw, 170px) minmax(0, 960px);
  justify-content: center;
  column-gap: clamp(32px, 4vw, 72px);
  align-items: start;
  padding: clamp(28px, 3vw, 48px) 0;
  border-top: 1px solid rgba(29,48,79,0.20);

  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.7s cubic-bezier(.22,1,.36,1),
    transform 0.7s cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}

.kpt-faq-item:last-child{
  border-bottom: 1px solid rgba(29,48,79,0.20);
}

.kpt-faq-item.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* COLUMNA IZQUIERDA */
.kpt-faq-sign{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: visible;
}

/* SIGNO */
.kpt-faq-mark{
  width: 100%;
}

.kpt-faq-mark .elementor-heading-title{
  display: block !important;
  margin: 0 !important;
  color: var(--kpt-navy, #1D304F) !important;
  font-family: "Unbounded", sans-serif !important;
  font-size: var(--kpt-display-num, clamp(72px, 8vw, 160px)) !important;
  line-height: 0.78 !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

/* CONTENIDO */
.kpt-faq-content{
  min-width: 0;
  max-width: 960px;
}

/* PREGUNTA */
.kpt-faq-content .elementor-heading-title,
.kpt-faq-content h3{
  margin: 0 0 clamp(12px, 1.2vw, 20px) 0;
  color: var(--kpt-navy, #1D304F);
  font-family: "Unbounded", sans-serif;
  font-size: clamp(22px, 2vw, 46px);
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  text-wrap: balance;
}

/* RESPUESTA */
.kpt-faq-content,
.kpt-faq-content .elementor-widget-text-editor,
.kpt-faq-content .elementor-widget-text-editor p,
.kpt-faq-content .elementor-text-editor{
  color: var(--kpt-navy, #1D304F);
  font-family: "Space Grotesk", sans-serif;
  font-size: var(--kpt-body, clamp(16px, 1.1vw, 20px));
  line-height: 1.4;
  font-weight: 400;
}

.kpt-faq-content .elementor-text-editor p{
  margin: 0 0 0.6em 0;
}

.kpt-faq-content .elementor-text-editor ul{
  margin: 0.4em 0 0 1.1em;
}

/* TABLET */
@media (max-width: 1200px){

  .kpt-faq-list{
    max-width: 100%;
  }

  .kpt-faq-item{
    grid-template-columns: clamp(80px, 9vw, 130px) minmax(0, 1fr);
    justify-content: stretch;
    column-gap: clamp(24px, 3vw, 48px);
  }

  .kpt-faq-content{
    max-width: 100%;
  }
}

/* MOBILE */
@media (max-width: 767px){

  .kpt-faq-list,
  .kpt-faq-content{
    max-width: 100% !important;
  }

  .kpt-faq-item{
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 16px;
    padding: 20px 0;
  }

  .kpt-faq-sign{
    justify-content: flex-start;
  }

  .kpt-faq-mark .elementor-heading-title{
    font-size: clamp(48px, 12vw, 72px) !important;
    text-align: left !important;
  }

  .kpt-faq-content .elementor-heading-title{
    font-size: clamp(20px, 6vw, 26px);
  }
}

/* ==========================================================
   KPT — FIX TITULAR ANIMADO (H1 real)
   ========================================================== */

.elementor-headline,
.elementor-headline .elementor-headline-plain-text,
.elementor-headline .elementor-headline-dynamic-text,
.elementor-headline .elementor-headline-dynamic-wrapper{
  font-family: "Unbounded", sans-serif !important;
  font-size: var(--kpt-h1) !important;
  line-height: 0.95 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
}

/* ==========================================================
   MOBILE SAFETY EXTRA
   ========================================================== */

@media (max-width: 767px){

  html,
  body{
    overflow-x: hidden;
  }

  .elementor,
  .elementor-section,
  .elementor-container,
  .e-con{
    overflow-x: clip;
  }

  .reveal-letters,
  .reveal-letters .elementor-widget-container,
  .reveal-letters .elementor-heading-wrapper{
    overflow-x: clip;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Unbounded';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('http://kiteprogresstarifa.pronizam.com/wp-content/uploads/2026/03/Unbounded-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('http://kiteprogresstarifa.pronizam.com/wp-content/uploads/2026/03/SpaceGrotesk-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('http://kiteprogresstarifa.pronizam.com/wp-content/uploads/2026/03/SpaceGrotesk-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */