.elementor-kit-9{--e-global-color-primary:#1A6F94;--e-global-color-secondary:#2FA8A8;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-3d56eb6:#2FA8A8;--e-global-color-2f0c13d:#1A6F94;--e-global-color-887ac31:#152850;--e-global-color-dd69a4f:#FFFFFF;--e-global-color-d4839af:#C8CDD8;--e-global-color-66a46a5:#EDF4F4;--e-global-color-5712d17:#E4EEF0;--e-global-color-0349bfd:#128C7E;font-family:"DM Sans", Sans-serif;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{font-family:"DM Sans", Sans-serif;}.elementor-kit-9 h1{font-family:"DM Serif Display", Sans-serif;}.elementor-kit-9 h2{font-family:"DM Serif Display", Sans-serif;}.elementor-kit-9 h3{font-family:"DM Serif Display", Sans-serif;}.elementor-kit-9 h4{font-family:"DM Serif Display", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================ */
/* ROOT MAESTRO — EKO 2.0                       */
/* Aplica a todos los proyectos sin modificación */
/* ============================================ */
:root {

  /* ─── ESPACIADO BASE ─────────────────────────────── */
  --space-xs:    8px;
  --space-sm:    16px;
  --space-md:    24px;
  --space-lg:    40px;
  --space-xl:    64px;
  --space-2xl:   96px;

  --section-gap:                100px;
  --section-gap-tablet:          72px;
  --section-gap-mobile:          56px;

  --section-inner-spacing:       80px;
  --section-inner-spacing-md:    56px;
  --section-inner-spacing-sm:    40px;

  /* ─── ANCHOS MÁXIMOS ─────────────────────────────── */
  --container-xl:   1400px;
  --container-lg:   1200px;
  --container-md:    900px;
  --container-sm:    640px;

  /* ─── TIPOGRAFÍA — TAMAÑOS FLUIDOS ──────────────── */
  --text-xs:    clamp(11px, 1.2vw, 12px);
  --text-sm:    clamp(13px, 1.4vw, 14px);
  --text-base:  clamp(15px, 1.6vw, 17px);
  --text-md:    clamp(16px, 1.8vw, 18px);
  --text-lg:    clamp(18px, 2vw,   20px);
  --text-xl:    clamp(20px, 2.4vw, 24px);
  --text-2xl:   clamp(24px, 3vw,   32px);
  --text-3xl:   clamp(28px, 4vw,   42px);
  --text-4xl:   clamp(34px, 5vw,   56px);
  --text-hero:  clamp(42px, 6.5vw, 80px);

  /* ─── TIPOGRAFÍA — ESCALA SEMÁNTICA ─────────────── */
  /* Sobreescribible por proyecto en root-proyecto     */
  --fs-h1:      clamp(42px, 5vw, 64px);
  --fs-h2:      clamp(28px, 3.5vw, 44px);
  --fs-h3:      clamp(18px, 2vw, 22px);
  --fs-body-lg: 17px;
  --fs-body:    16px;
  --fs-body-sm: 15px;
  --fs-label:   12px;

  /* ─── TIPOGRAFÍA — PESOS ─────────────────────────── */
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;

  /* ─── TIPOGRAFÍA — LINE HEIGHT ───────────────────── */
  --lh-h1:      1.0;
  --lh-h2:      1.1;
  --lh-h3:      1.2;
  --lh-body-lg: 1.75;
  --lh-body:    1.65;

  /* ─── TIPOGRAFÍA — LETTER SPACING ───────────────── */
  --ls-h1:    -0.01em;
  --ls-h2:     0.02em;
  --ls-label:  0.14em;

  /* ─── TIPOGRAFÍA — LÍNEA Y ESPACIADO ────────────── */
  --leading-tight:    1.15;
  --leading-snug:     1.3;
  --leading-normal:   1.6;
  --leading-loose:    1.85;

  --tracking-tight:  -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.06em;
  --tracking-wider:   0.12em;
  --tracking-widest:  0.2em;

  /* ─── RADIO DE BORDES ────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;

  /* ─── TRANSICIONES ───────────────────────────────── */
  --ease-out:    cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  --duration-fast:   0.18s;
  --duration-base:   0.3s;
  --duration-slow:   0.5s;
  --duration-xslow:  0.7s;

  --transition-base: all var(--duration-base) var(--ease-out);
  --transition-fast: all var(--duration-fast) var(--ease-out);

  /* ─── Z-INDEX ────────────────────────────────────── */
  --z-below:    -1;
  --z-base:      0;
  --z-raised:   10;
  --z-overlay:  100;
  --z-modal:    200;
  --z-toast:    300;
  --z-header:   400;

  /* ─── BORDES Y SOMBRAS (neutrales) ──────────────── */
  --border-subtle:   rgba(0, 0, 0, 0.07);
  --border-light:    rgba(0, 0, 0, 0.12);
  --border-medium:   rgba(0, 0, 0, 0.2);

  --shadow-sm:  0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md:  0 4px 24px rgba(0, 0, 0, 0.08);
  --shadow-lg:  0 12px 48px rgba(0, 0, 0, 0.1);
  --shadow-xl:  0 24px 80px rgba(0, 0, 0, 0.12);

}

  /* ─── APLICAR ESTILOS A ELEMENTOR──── */

.elementor h1,
.elementor .elementor-widget h1 {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--ls-h1);
  font-weight: var(--fw-regular);
}

.elementor h2,
.elementor .elementor-widget h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
  font-weight: var(--fw-regular);
}

.elementor h3,
.elementor .elementor-widget h3 {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  font-weight: var(--fw-regular);
}

.elementor p,
.elementor .elementor-widget p {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
  color: var(--color-primary);
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


@media (max-width: 1024px) {
  :root {
    --section-gap:           var(--section-gap-tablet);
    --section-inner-spacing: var(--section-inner-spacing-md);
  }
}

@media (max-width: 768px) {
  :root {
    --section-gap:           var(--section-gap-mobile);
    --section-inner-spacing: var(--section-inner-spacing-sm);
  }
}


/* ============================================ */
/* ROOT PROYECTO                                */
/* Pega aquí las variables del proyecto activo  */
/* Solo colores y familias tipográficas.        */
/* Para sobreescribir escala: redeclarar        */
/* --fs-h1, --fs-h2, etc. aquí mismo.           */
/* ============================================ */
:root {

  /* ─── PALETA ─────────────────────────────── */
  --color-navy:         #152850;
  --color-steel:        #1A6F94;
  --color-teal:         #2FA8A8;
  --color-white:        #FFFFFF;
  --color-silver:       #C8CDD8;
  --color-bg-primary:   #edf4f4;
  --color-bg-secondary: #e4eef0;
  --color-whatsapp:     #128C7E;

  --color-primary:      var(--color-navy);
  --color-accent:       var(--color-teal);
  --color-interactive:  var(--color-steel);

  /* ─── FAMILIAS TIPOGRÁFICAS ──────────────── */
  --font-heading: 'DM Serif Display', serif;
  --font-body:    'DM Sans', system-ui, sans-serif;

}

/* ============================================ */
/* BOTONES — SISTEMA DR. VENCES (btn-dv)        */
/* ============================================ */

.btn-dv {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  position: relative;
  overflow: hidden;
  padding: 15px 36px;
  border-radius: 2px;
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: var(--fw-medium);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: 1.5px solid transparent;
  background: transparent;
  transition: color 0.38s cubic-bezier(0.4,0,0.2,1);
  z-index: 0;
}

.btn-dv::before {
  content: '';
  position: absolute;
  inset: 0;
  transform: translateX(-101%);
  transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
  z-index: -1;
}

.btn-dv:hover::before { transform: translateX(0); }

.btn-dv-primary { color: var(--color-navy); border-color: var(--color-navy); }
.btn-dv-primary::before { background: var(--color-navy); }
.btn-dv-primary:hover { color: var(--color-white); }

.btn-dv-secondary { color: var(--color-teal); border-color: var(--color-teal); }
.btn-dv-secondary::before { background: var(--color-teal); }
.btn-dv-secondary:hover { color: var(--color-white); }

.btn-dv-white { color: var(--color-white); border-color: rgba(255,255,255,0.6); }
.btn-dv-white::before { background: var(--color-white); }
.btn-dv-white:hover { color: var(--color-navy); }

.btn-dv-whatsapp { color: var(--color-whatsapp); border-color: var(--color-whatsapp); }
.btn-dv-whatsapp::before { background: var(--color-whatsapp); }
.btn-dv-whatsapp:hover { color: var(--color-white); }

.btn-dv-ghost { color: var(--color-interactive); border-color: var(--color-silver); }
.btn-dv-ghost::before { background: var(--color-silver); }
.btn-dv-ghost:hover { color: var(--color-navy); }/* End custom CSS */