.elementor-kit-7{--e-global-color-primary:#1C1475;--e-global-color-secondary:#00A3E0;--e-global-color-text:#3B3F5C;--e-global-color-accent:#00A3E0;--e-global-color-ct_ink:#0E0A3F;--e-global-color-ct_grey:#8E8E9A;--e-global-color-ct_light:#F3F6FB;--e-global-color-ct_white:#FFFFFF;--e-global-color-ct_line:#E6EAF3;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Sora";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Sora";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;background-color:#FFFFFF;color:#3B3F5C;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#00A3E0;font-family:"Sora", Sans-serif;font-size:15px;font-weight:600;line-height:1.2em;color:#FFFFFF;border-radius:100px 100px 100px 100px;padding:16px 30px 16px 30px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#FFFFFF;color:#1C1475;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#00A3E0;}.elementor-kit-7 a:hover{color:#1C1475;}.elementor-kit-7 h1{color:#1C1475;font-family:"Sora", Sans-serif;font-size:70px;font-weight:700;line-height:1.1em;letter-spacing:-1.5px;}.elementor-kit-7 h2{color:#1C1475;font-family:"Sora", Sans-serif;font-size:46px;font-weight:700;line-height:1.15em;letter-spacing:-1px;}.elementor-kit-7 h3{color:#1C1475;font-family:"Sora", Sans-serif;font-size:20px;font-weight:600;line-height:1.3em;letter-spacing:-0.3px;}.elementor-kit-7 h4{color:#1C1475;font-family:"Sora", Sans-serif;font-size:17px;font-weight:600;line-height:1.3em;}.elementor-kit-7 h6{color:#00A3E0;font-family:"Sora", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;line-height:1.4em;letter-spacing:3.5px;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:"Inter", Sans-serif;font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.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-kit-7 h1{font-size:52px;}.elementor-kit-7 h2{font-size:38px;}.elementor-kit-7 h3{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7 h1{font-size:40px;}.elementor-kit-7 h2{font-size:30px;}.elementor-kit-7 h3{font-size:19px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Certainet – efectos globales (Ajustes del sitio › CSS personalizado) */

/* Cabecera superpuesta al hero + estado fijo al hacer scroll */
.elementor-location-header { position: absolute; top: 0; left: 0; right: 0; z-index: 999; }
.ct-header { transition: background-color .35s ease, box-shadow .35s ease, padding .35s ease; }
.ct-header .ct-logo-dark { display: none; }
.ct-header.elementor-sticky--effects { background-color: rgba(255,255,255,.97) !important; box-shadow: 0 10px 30px -18px rgba(14,10,63,.35); --padding-top: 10px; --padding-bottom: 10px; }
.ct-header.elementor-sticky--effects .ct-logo-light { display: none; }
.ct-header.elementor-sticky--effects .ct-logo-dark { display: block; }
.ct-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item { color: #1C1475 !important; }
.ct-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item-active, .ct-header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item:hover { color: #00A3E0 !important; }
.ct-header.elementor-sticky--effects .elementor-menu-toggle { color: #1C1475 !important; }
.ct-header .elementor-nav-menu--dropdown { border-radius: 16px; box-shadow: 0 20px 50px -20px rgba(28,20,117,.35); overflow: hidden; margin-top: 12px; }

/* Sobretítulo con línea */
.ct-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.ct-eyebrow .elementor-heading-title::before { content: ""; width: 34px; height: 2px; background: currentColor; flex: 0 0 34px; }
.ct-eyebrow--center .elementor-heading-title::after { content: ""; width: 34px; height: 2px; background: currentColor; flex: 0 0 34px; }

/* Tarjetas: elevación y zoom */
.ct-lift { transition: transform .4s ease, box-shadow .4s ease, border-color .3s ease; }
.ct-lift:hover { transform: translateY(-8px); box-shadow: 0 20px 50px -20px rgba(28,20,117,.28) !important; }
.ct-lift:hover .elementor-icon-box-icon .elementor-icon { background-color: #00A3E0; color: #fff; fill: #fff; }
.ct-zoom .elementor-widget-image { overflow: hidden; }
.ct-zoom .elementor-widget-image img { transition: transform .8s ease; }
.ct-zoom:hover .elementor-widget-image img { transform: scale(1.08); }
.ct-card-body { position: relative; flex: 1; }
.ct-link-arrow .elementor-button-icon { transition: transform .3s ease; }
.ct-link-arrow:hover .elementor-button-icon { transform: translateX(6px); }

/* Imagen con patrón de puntos */
.ct-media { position: relative; }
.ct-dots-tl::before { content: ""; position: absolute; width: 160px; height: 120px; top: -34px; left: -34px; background: radial-gradient(#00A3E0 1.6px, transparent 1.8px) 0 0 / 18px 18px; opacity: .6; z-index: 0; }
.ct-media > .elementor-widget-image { z-index: 1; }
.ct-dots-tr::after { content: ""; position: absolute; right: 4%; top: 60px; width: 180px; height: 120px; background: radial-gradient(#00A3E0 1.6px, transparent 1.8px) 0 0 / 18px 18px; opacity: .35; pointer-events: none; }
.ct-round-img img { aspect-ratio: 1; object-fit: cover; outline: 4px solid #00A3E0; outline-offset: 12px; }

/* Cinta en movimiento */
.ct-marquee-track { width: max-content !important; animation: ct-marquee 38s linear infinite; }
.ct-marquee-item { width: auto !important; }
.ct-marquee-item .elementor-heading-title { display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; white-space: nowrap; }
.ct-marquee-item .elementor-heading-title::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #00A3E0; }
@keyframes ct-marquee { to { transform: translateX(-50%); } }

/* Órbita del hero */
.ct-orbit-ring1 { border-top-color: #00A3E0 !important; border-right-color: #00A3E0 !important; animation: ct-spin 18s linear infinite; }
.ct-orbit-ring2 { animation: ct-spin 40s linear infinite reverse; }
.ct-orbit-ring2::after { content: ""; position: absolute; top: 50%; left: -7px; width: 12px; height: 12px; border-radius: 50%; background: #00A3E0; box-shadow: 0 0 0 6px rgba(0,163,224,.25); }
.ct-img-white img { filter: brightness(0) invert(1); }
.ct-ring-deco::after { content: ""; position: absolute; inset: 50px; border-radius: 50%; border: 2px dashed rgba(255,255,255,.25); animation: ct-spin 50s linear infinite; }
@keyframes ct-spin { to { transform: rotate(360deg); } }

/* Cifras */
.ct-counter .elementor-counter-number-suffix { color: #00A3E0; }
.ct-stats .ct-stat { border-right: 1px solid #E8ECF4; }
@media (max-width: 1024px) { .ct-stats .ct-stat:nth-child(2) { border-right: 0; } .ct-stats .ct-stat:nth-child(-n+2) { border-bottom: 1px solid #E8ECF4; } }

/* Proceso */
.ct-process { position: relative; }
.ct-process::before { content: ""; position: absolute; top: 38px; left: 8%; right: 8%; height: 2px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.3) 0 8px, transparent 8px 16px); }
.ct-step-icon .elementor-icon { background: #0E0A3F; transition: background .3s ease, color .3s ease, transform .3s ease; }
.ct-step:hover .ct-step-icon .elementor-icon { background: #00A3E0; color: #fff; transform: scale(1.08); }
.ct-step-n { position: absolute; top: -6px; left: calc(50% + 18px); width: 28px; height: 28px; border-radius: 50%; background: #fff; color: #1C1475; font-size: 12px; font-weight: 700; display: grid; place-items: center; }
@media (max-width: 1024px) { .ct-process::before { display: none; } }

/* Valores / misión */
.ct-value { transition: background-color .3s ease, transform .3s ease; }
.ct-value:hover { background-color: rgba(0,163,224,.15) !important; transform: translateY(-6px); }
.ct-mission::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 320px; height: 320px; border-radius: 50%; border: 36px solid rgba(255,255,255,.1); pointer-events: none; }

/* Servicios */
.ct-flow-row { transition: transform .3s ease; }
.ct-flow-row:hover { transform: translateX(8px); }
@media (max-width: 1024px) { .ct-flow-phase { grid-column: 1 / -1; } }
@media (max-width: 767px) { .ct-flow-benefit { border-width: 1px 0 0 0 !important; } }

/* Contacto */
.ct-info-card { transition: border-color .3s ease, transform .3s ease; }
.ct-info-card:hover { border-color: #00A3E0 !important; transform: translateX(6px); }
.ct-form-box .elementor-field-group .elementor-field:focus { border-color: #00A3E0 !important; background: #fff !important; }

/* Footer */
.ct-footer { position: relative; }
.ct-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(120deg, #1C1475, #00A3E0); }

/* CTA */
.ct-cta .elementor-button { white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .ct-marquee-track, .ct-orbit-ring1, .ct-orbit-ring2, .ct-ring-deco::after { animation: none; }
}

/* Número del paso sobre el icono */
.ct-step .elementor-widget-heading { position: static; }
.ct-step { position: relative; }
/* Logo: ocultar versión oscura (refuerzo) */
.ct-header .elementor-widget.ct-logo-dark { display: none; }
.ct-header.elementor-sticky--effects .elementor-widget.ct-logo-light { display: none; }
.ct-header.elementor-sticky--effects .elementor-widget.ct-logo-dark { display: block; }

/* Páginas sin hero de Elementor (404, entradas): cabecera con fondo */
body:not(.elementor-page) .ct-header { background-color: #0E0A3F !important; }
body:not(.elementor-page) .site-main { padding-top: 140px; padding-bottom: 80px; }

/* Onda inferior de los hero (misma curva del diseño original).
   El divisor de forma nativo sigue activo (Estilo › Divisor de forma);
   aquí solo se reemplaza su dibujo. */
.ct-wave .elementor-shape-bottom { height: 120px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23FFFFFF' d='M0,100 L0,60 C250,110 600,10 1000,40 L1000,100 Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; bottom: -1px; transform: none !important; }
.ct-wave .elementor-shape-bottom svg { display: none; }
@media (max-width: 767px) { .ct-wave .elementor-shape-bottom { height: 60px; } }

/* Botón hamburguesa (tablet/móvil) */
.ct-burger .elementor-icon { transition: background-color .3s ease, color .3s ease; }
.ct-header.elementor-sticky--effects .ct-burger .elementor-icon { background-color: #1C1475 !important; color: #fff !important; fill: #fff !important; }
.ct-header .ct-header-logo img { width: 100%; height: auto; }
@media (max-width: 1024px) {
  .ct-header.elementor-sticky--effects { --padding-top: 8px; --padding-bottom: 8px; }
  .ct-header.elementor-sticky--effects .ct-header-logo { --width: 130px; }
}

/* Menú móvil fuera de pantalla (popup) */
.ct-offcanvas .dialog-widget-content { border-radius: 0 !important; box-shadow: -20px 0 60px rgba(0,0,0,.35); }
.ct-offcanvas-inner::after { content: ""; position: absolute; right: -90px; bottom: -90px; width: 300px; height: 300px; border-radius: 50%; border: 34px solid rgba(0,163,224,.12); pointer-events: none; }
.ct-offcanvas-menu .elementor-nav-menu--main .elementor-item { border-bottom: 1px solid rgba(255,255,255,.1); transition: color .3s ease, padding-left .3s ease; }
.ct-offcanvas-menu .elementor-nav-menu--main .elementor-item:hover { padding-left: 8px !important; }
.ct-offcanvas .dialog-close-button { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.08); }

/* Popup menú móvil: sin scroll y botón cerrar centrado */
.ct-offcanvas .dialog-message { overflow: hidden !important; }
.ct-offcanvas .dialog-close-button { display: flex !important; align-items: center; justify-content: center; padding: 0 !important; line-height: 1; }
.ct-offcanvas .dialog-close-button svg, .ct-offcanvas .dialog-close-button i { position: static !important; margin: 0 !important; transform: none !important; width: 20px; height: 20px; font-size: 20px; display: block; }
@media (max-height: 640px) {
  .ct-offcanvas-inner { --gap: 12px 12px; --row-gap: 12px; --padding-top: 18px; --padding-bottom: 18px; }
  .ct-offcanvas-menu .elementor-nav-menu--main .elementor-item { padding-top: 8px !important; padding-bottom: 8px !important; font-size: 18px !important; }
  .ct-offcanvas-inner .elementor-widget-icon-list .elementor-icon-list-item:last-child { display: none; }
}/* End custom CSS */