/* ============================================================
   LIMAPOL · DESIGN SYSTEM · LIQUID GLASS v2 — DARK HEADER + DARK SECTIONS
   v2 cambios:
   - Header glass bar full-width (light glassmorphism, sticky)
   - Secciones .lp-section--dark con paleta navy
   - CTAs más compactos
   - Aurora optimizada (sin filter:blur masivo) → adiós al jank en scroll
   - GPU layers en elementos sticky
   ============================================================ */

/* 1) TOKENS */
:root{
  --lp-primary:#4D72FF;
  --lp-primary-600:#3B5BE0;
  --lp-primary-700:#2C45B8;
  --lp-primary-300:#8AA2FF;
  --lp-primary-100:#E2E9FF;
  --lp-accent:#7B5BFF;
  --lp-gradient:linear-gradient(135deg,#4D72FF 0%,#7B5BFF 100%);
  --lp-gradient-soft:linear-gradient(135deg,rgba(77,114,255,.18) 0%,rgba(123,91,255,.18) 100%);

  /* LIGHT */
  --lp-bg:#F6F8FF;
  --lp-bg-2:#EEF2FF;
  --lp-ink:#0B0F24;
  --lp-text:#0E1226;
  --lp-text-2:#4A5273;
  --lp-text-3:#8088A8;
  --lp-line:rgba(11,15,36,.08);

  /* DARK (idéntico a plataforma privada) */
  --lp-dark:#0E1633;
  --lp-dark-2:#15203D;
  --lp-dark-3:#1D2A4B;
  --lp-dark-line:rgba(255,255,255,.08);
  --lp-dark-text:#EAEEFF;
  --lp-dark-text-2:rgba(234,238,255,.65);
  --lp-dark-text-3:rgba(234,238,255,.45);

  /* GLASS */
  --lp-glass-bg:rgba(255,255,255,.55);
  --lp-glass-bg-strong:rgba(255,255,255,.78);
  --lp-glass-bg-dark:rgba(14,22,51,.55);
  --lp-glass-bg-dark-strong:rgba(14,22,51,.85);
  --lp-glass-border:rgba(255,255,255,.55);
  --lp-glass-border-dark:rgba(255,255,255,.10);
  --lp-glass-shadow:0 10px 40px -10px rgba(11,15,36,.18),0 2px 6px -2px rgba(11,15,36,.08);
  --lp-glass-shadow-hover:0 22px 60px -15px rgba(77,114,255,.35),0 4px 12px -4px rgba(11,15,36,.12);
  --lp-glass-shadow-dark:0 24px 60px -20px rgba(0,0,0,.5),0 4px 12px -4px rgba(0,0,0,.3);
  --lp-glass-blur:18px;
  --lp-glass-saturate:160%;

  --lp-r-xs:8px; --lp-r-sm:12px; --lp-r-md:16px;
  --lp-r-lg:22px; --lp-r-xl:28px; --lp-r-pill:999px;

  --lp-shadow-sm:0 1px 2px rgba(11,15,36,.06);
  --lp-shadow-md:0 4px 12px rgba(11,15,36,.08);
  --lp-shadow-lg:0 24px 48px -12px rgba(11,15,36,.18);
  --lp-glow:0 0 0 4px rgba(77,114,255,.18);

  --lp-font-display:"Space Grotesk","Inter",system-ui,-apple-system,sans-serif;
  --lp-font-body:"Inter",system-ui,-apple-system,sans-serif;

  --lp-ease:cubic-bezier(.2,.8,.2,1);
  --lp-dur:.32s;

  /* Spacing scale — Sprint 15 */
  --lp-space-section-y:clamp(3rem,6.5vw,5.5rem);
  --lp-space-section-y-sm:clamp(2.25rem,7vw,3.5rem);
  --lp-space-block:clamp(1rem,2.5vw,1.75rem);
  --lp-space-gap:clamp(16px,2.5vw,28px);

  /* Ancho máximo contenido — alinea header con secciones */
  --lp-content-max:1100px;

  /* Scrollbar — minimalista */
  --lp-scrollbar-size:6px;
  --lp-scrollbar-thumb:rgba(11,15,36,.14);
  --lp-scrollbar-thumb-hover:rgba(77,114,255,.32);
  --lp-scrollbar-thumb-dark:rgba(255,255,255,.18);
  --lp-scrollbar-thumb-dark-hover:rgba(138,162,255,.40);
}

/* 2) FONDO GLOBAL — AURORA OPTIMIZADA (sin filter:blur masivo) */
body.limapol-public{
  background:var(--lp-bg);
  color:var(--lp-text);
  font-family:var(--lp-font-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
}
body.limapol-public::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(60vmax 60vmax at 8% -10%,rgba(77,114,255,.16),transparent 65%),
    radial-gradient(50vmax 50vmax at 95% 25%,rgba(123,91,255,.13),transparent 65%),
    radial-gradient(45vmax 45vmax at 50% 110%,rgba(77,114,255,.10),transparent 65%);
  opacity:.85;
  will-change:transform;
  transform:translate3d(0,0,0);
  animation:lp-aurora 60s linear infinite;
}
@keyframes lp-aurora{
  0%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(2%,1.5%,0)}
  100%{transform:translate3d(0,0,0)}
}

/* 3) TIPOGRAFÍA */
body.limapol-public h1,
body.limapol-public h2,
body.limapol-public h3,
body.limapol-public h4,
body.limapol-public h5,
body.limapol-public h6,
body.limapol-public .elementor-heading-title{
  font-family:var(--lp-font-display);
  letter-spacing:-.02em;
  color:var(--lp-text);
  font-weight:600;
}
.lp-h1{font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.05;letter-spacing:-.035em;font-weight:700}
.lp-h2{font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.15}

.lp-eyebrow{
  display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--lp-primary);
  padding:.4rem .85rem;border-radius:var(--lp-r-pill);background:var(--lp-primary-100);
}
.lp-gradient-text{
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* 4) GLASS CARDS */
.lp-glass,.lp-glass-card,.lp-glass-strong{
  position:relative;
  background:var(--lp-glass-bg);
  -webkit-backdrop-filter:blur(var(--lp-glass-blur)) saturate(var(--lp-glass-saturate));
  backdrop-filter:blur(var(--lp-glass-blur)) saturate(var(--lp-glass-saturate));
  border:1px solid var(--lp-glass-border);
  box-shadow:var(--lp-glass-shadow);
  border-radius:var(--lp-r-lg);
  transition:transform var(--lp-dur) var(--lp-ease),
             box-shadow var(--lp-dur) var(--lp-ease),
             border-color var(--lp-dur) var(--lp-ease);
  overflow:hidden;
}
.lp-glass-card{padding:clamp(1.25rem,2vw,2rem)}
.lp-glass-strong{background:var(--lp-glass-bg-strong)}

.lp-glass::before,.lp-glass-card::before,.lp-glass-strong::before{
  content:"";
  position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 35%);
  mix-blend-mode:overlay;opacity:.85;
}
.lp-glass-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--lp-glass-shadow-hover);
  border-color:rgba(77,114,255,.35);
}

/* 5) BOTONES — estilos solo en el clickable, nunca en el widget wrapper */
body.limapol-public .elementor-widget-button.lp-cta-primary,
body.limapol-public .elementor-widget-button.lp-cta-ghost{
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
body.limapol-public .elementor-widget-button.lp-cta-primary .elementor-widget-container,
body.limapol-public .elementor-widget-button.lp-cta-ghost .elementor-widget-container{
  background:transparent !important;padding:0 !important;margin:0 !important;
}

a.lp-cta-primary,
button.lp-cta-primary,
.elementor-button.lp-cta-primary,
.elementor-widget-button.lp-cta-primary .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.45rem !important;
  font-family:var(--lp-font-body) !important;font-weight:600 !important;font-size:.95rem !important;
  white-space:nowrap !important;
  color:#fff !important;text-decoration:none !important;
  background:var(--lp-gradient) !important;background-image:var(--lp-gradient) !important;
  border:none !important;
  border-radius:var(--lp-r-pill) !important;
  box-shadow:0 8px 24px -8px rgba(77,114,255,.50) !important;
  line-height:1.2 !important;
  transition:transform var(--lp-dur) var(--lp-ease),box-shadow var(--lp-dur) var(--lp-ease);
  cursor:pointer;
}
a.lp-cta-primary:hover,
button.lp-cta-primary:hover,
.elementor-button.lp-cta-primary:hover,
.elementor-widget-button.lp-cta-primary .elementor-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px -8px rgba(77,114,255,.58) !important;
}

a.lp-cta-ghost,
button.lp-cta-ghost,
.elementor-button.lp-cta-ghost,
.elementor-widget-button.lp-cta-ghost .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.82rem 1.35rem !important;
  font-family:var(--lp-font-body) !important;font-weight:600 !important;font-size:.95rem !important;
  white-space:nowrap !important;
  border-radius:var(--lp-r-pill) !important;
  color:var(--lp-text) !important;text-decoration:none !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(11,15,36,.08) !important;
  line-height:1.2 !important;
  box-shadow:0 2px 8px -4px rgba(11,15,36,.08) !important;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  transition:background-color var(--lp-dur) var(--lp-ease),border-color var(--lp-dur) var(--lp-ease),color var(--lp-dur) var(--lp-ease),box-shadow var(--lp-dur) var(--lp-ease);
}
a.lp-cta-ghost:hover,
button.lp-cta-ghost:hover,
.elementor-button.lp-cta-ghost:hover,
.elementor-widget-button.lp-cta-ghost .elementor-button:hover{
  background:#fff !important;
  border-color:rgba(77,114,255,.28) !important;
  color:var(--lp-primary) !important;
  box-shadow:0 4px 14px -6px rgba(77,114,255,.18) !important;
}

/* Iconos en botones Elementor (hero y resto de página) */
body.limapol-public .elementor-widget-button.lp-cta-primary .elementor-button .elementor-button-content-wrapper,
body.limapol-public .elementor-widget-button.lp-cta-ghost .elementor-button .elementor-button-content-wrapper{
  display:inline-flex !important;align-items:center !important;gap:.45rem !important;
}
body.limapol-public .elementor-widget-button.lp-cta-primary .elementor-button .elementor-button-icon,
body.limapol-public .elementor-widget-button.lp-cta-ghost .elementor-button .elementor-button-icon{
  display:inline-flex !important;align-items:center !important;line-height:0 !important;
}
body.limapol-public .elementor-widget-button.lp-cta-primary .elementor-button .elementor-button-icon svg,
body.limapol-public .elementor-widget-button.lp-cta-ghost .elementor-button .elementor-button-icon svg{
  width:.9em;height:.9em;display:block;fill:currentColor;flex-shrink:0;
}

/* 6) CHIP/BADGE */
.lp-chip{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.35rem .75rem;font-size:.78rem;font-weight:600;
  border-radius:var(--lp-r-pill);
  background:rgba(77,114,255,.10);color:var(--lp-primary);
  border:1px solid rgba(77,114,255,.18);
}

/* 7) ENLACES Y FOCUS */
body.limapol-public a{color:var(--lp-primary)}
body.limapol-public a:hover{color:var(--lp-primary-600)}
body.limapol-public :focus-visible{outline:none;box-shadow:var(--lp-glow);border-radius:6px}

/* 8) SECCIÓN BASE */
.lp-section{
  padding-top:var(--lp-space-section-y);
  padding-bottom:var(--lp-space-section-y);
  position:relative;z-index:1;
}
body.limapol-public .e-con.lp-section,
body.limapol-public .elementor-element.lp-section{
  padding-top:var(--lp-space-section-y) !important;
  padding-bottom:var(--lp-space-section-y) !important;
}

/* 9) HEADER · GLASS BAR — full-width, integrado, sticky */
body.limapol-public{
  --lp-nav-top:0px;
  --lp-nav-h:64px;
  --lp-nav-gap:0px;
  --lp-section-pad:32px;
  --lp-inner-max:1200px;
  --lp-nav-side:calc(var(--lp-section-pad) + max(0px,(100% - var(--lp-section-pad) * 2 - var(--lp-inner-max)) / 2));
  --lp-nav-offset:var(--lp-nav-h);
  --lp-nav-border:rgba(255,255,255,.45);
  --lp-nav-border-scrolled:rgba(11,15,36,.08);
  --lp-nav-glass-bg:rgba(255,255,255,.90);
  --lp-nav-glass-bg-scrolled:rgba(255,255,255,.96);
  --lp-nav-glass-blur:28px;
  --lp-nav-glass-blur-scrolled:36px;
  --lp-nav-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  --lp-nav-shadow-scrolled:0 4px 30px -10px rgba(11,15,36,.08),inset 0 1px 0 rgba(255,255,255,.65);
}

/* Espacio reservado bajo el header fijo */
body.limapol-public .elementor-location-header{
  position:relative;
  z-index:9999;
  height:auto !important;
  min-height:0 !important;
  overflow:visible;
  pointer-events:none;
}
body.limapol-public .elementor-location-header::before{
  content:"";
  display:block;
  height:var(--lp-nav-offset);
  pointer-events:none;
}
body.limapol-public .elementor-location-header .lp-header{pointer-events:auto}

/* Neutralizar sticky Elementor */
body.limapol-public .elementor-sticky__spacer{display:none !important;height:0 !important}

/* ── Barra glass — edge-to-edge, contenido alineado a --lp-content-max ── */
body.limapol-public .lp-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  transform:translateZ(0);
  z-index:9999;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:clamp(12px,2vw,24px) !important;
  width:100% !important;
  max-width:none !important;
  min-height:var(--lp-nav-h);
  padding:0 var(--lp-nav-side) !important;
  margin:0 !important;
  border-radius:0 !important;
  background:var(--lp-nav-glass-bg) !important;
  -webkit-backdrop-filter:blur(var(--lp-nav-glass-blur)) saturate(200%) brightness(1.04);
  backdrop-filter:blur(var(--lp-nav-glass-blur)) saturate(200%) brightness(1.04);
  border:none !important;
  border-bottom:1px solid var(--lp-nav-border) !important;
  box-shadow:var(--lp-nav-shadow);
  transition:background .32s var(--lp-ease),box-shadow .32s var(--lp-ease),border-color .32s var(--lp-ease),backdrop-filter .32s var(--lp-ease);
  overflow:visible !important;
  isolation:isolate;
}
body.limapol-public .lp-header::before{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.04) 45%,rgba(255,255,255,0) 100%);
}
body.limapol-public .lp-header::after{
  content:"";
  position:absolute;bottom:0;left:0;right:0;height:1px;pointer-events:none;z-index:0;
  background:linear-gradient(90deg,transparent 0%,rgba(77,114,255,.10) 50%,transparent 100%);
  opacity:1;
}
body.limapol-public .lp-header.is-scrolled{
  background:var(--lp-nav-glass-bg-scrolled) !important;
  border-bottom-color:var(--lp-nav-border-scrolled) !important;
  -webkit-backdrop-filter:blur(var(--lp-nav-glass-blur-scrolled)) saturate(210%) brightness(1.03);
  backdrop-filter:blur(var(--lp-nav-glass-blur-scrolled)) saturate(210%) brightness(1.03);
  box-shadow:var(--lp-nav-shadow-scrolled);
}

/* Fix crítico: hijos Elementor e-con-full tienen width:100% por defecto → rompen el flex */
body.limapol-public .lp-header > .e-con{
  --width:auto !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  position:relative;
  z-index:1;
}
body.limapol-public .lp-header > .e-con.elementor-element-abd95d9{
  flex:1 1 auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
body.limapol-public .lp-header > .e-con.elementor-element-fa797a8{
  flex:0 0 auto !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:6px !important;
}

body.limapol-public .lp-header > .e-con.elementor-element-7e78434{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  height:auto !important;
}
body.limapol-public .lp-header .elementor-element-b1f8795,
body.limapol-public .lp-header .elementor-element-b1f8795 .elementor-widget-container{
  display:flex !important;align-items:center !important;
  margin:0 !important;padding:0 !important;line-height:0 !important;
}

/* Logo + wordmark LimaPol */
body.limapol-public .lp-wordmark{
  display:inline-flex;align-items:center;gap:11px;
  text-decoration:none !important;flex-shrink:0;line-height:1;
  height:100%;min-height:calc(var(--lp-nav-h) - 16px);
}
body.limapol-public .lp-wordmark__img{
  display:block;height:44px;width:44px;object-fit:contain;flex-shrink:0;
}
body.limapol-public .lp-wordmark__text{
  font-family:var(--lp-font-display);font-weight:700;
  font-size:1.52rem;letter-spacing:-.025em;color:var(--lp-text);white-space:nowrap;
  line-height:1;padding-top:1px;
}
body.limapol-public .lp-wordmark__pol{
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* Nav links */
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-nav-menu{
  display:flex !important;flex-wrap:nowrap !important;gap:2px !important;
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item{
  position:relative !important;
  white-space:nowrap !important;
  color:var(--lp-text-2) !important;
  font-weight:600 !important;
  font-size:14px !important;
  padding:8px 12px !important;
  border-radius:8px;
  transition:color .18s var(--lp-ease),background .18s var(--lp-ease);
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item:hover{
  color:var(--lp-text) !important;
  background:rgba(77,114,255,.06) !important;
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item-active{
  color:var(--lp-primary) !important;
  background:rgba(77,114,255,.08) !important;
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item::before{
  display:none !important;content:none !important;
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item:not(.elementor-item-active)::after{
  display:none !important;content:none !important;opacity:0 !important;
}
body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item-active::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:4px !important;
  transform:translateX(-50%) !important;
  width:18px !important;
  height:2px !important;
  margin:0 !important;
  background:var(--lp-gradient) !important;
  border-radius:2px !important;
  opacity:1 !important;
}

/* Submenu flyout (solo submenús anidados, no el panel móvil) */
body.limapol-public .lp-header ul.sub-menu{
  background:rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter:blur(16px) saturate(180%);
  backdrop-filter:blur(16px) saturate(180%);
  border:1px solid rgba(11,15,36,.08) !important;
  border-radius:12px !important;
  box-shadow:0 16px 48px -12px rgba(11,15,36,.18);
  padding:6px !important;margin-top:8px !important;
}
body.limapol-public .lp-header ul.sub-menu li a{
  border-radius:8px !important;padding:10px 14px !important;
  color:var(--lp-text-2) !important;
  font-family:var(--lp-font-body) !important;
}
body.limapol-public .lp-header ul.sub-menu li a:hover{
  background:rgba(77,114,255,.08) !important;color:var(--lp-primary) !important;
}

/* Botones header */
body.limapol-public .lp-header .elementor-widget-button{
  margin:0 !important;
  --container-widget-width:auto !important;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost,
body.limapol-public .lp-header .elementor-widget-button.lp-cta-primary{
  background:transparent !important;
  background-image:none !important;
  border:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-widget-container,
body.limapol-public .lp-header .elementor-widget-button.lp-cta-primary .elementor-widget-container{
  background:transparent !important;padding:0 !important;margin:0 !important;
}
body.limapol-public .lp-header .elementor-widget-button .elementor-button-wrapper{
  line-height:0 !important;
}
body.limapol-public .lp-header .elementor-widget-button .elementor-button{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  outline:none !important;-webkit-appearance:none;appearance:none;
  background-clip:padding-box;
  border-radius:10px !important;white-space:nowrap !important;
  font-family:var(--lp-font-body) !important;
  line-height:1.3 !important;
  min-height:0 !important;height:auto !important;
  transform:none !important;
  transition:background-color .18s var(--lp-ease),border-color .18s var(--lp-ease),color .18s var(--lp-ease),box-shadow .18s var(--lp-ease) !important;
}

/* Ghost */
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-button,
body.limapol-public .lp-header .lp-cta-ghost.elementor-widget-button .elementor-button{
  background:rgba(255,255,255,.98) !important;
  background-image:none !important;
  border:1px solid rgba(11,15,36,.12) !important;
  border-width:1px !important;
  color:var(--lp-text) !important;
  box-shadow:0 1px 3px rgba(11,15,36,.08) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  font-weight:600 !important;
  font-size:13px !important;
  padding:9px 16px !important;
  letter-spacing:.01em;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-button .elementor-button-icon svg{
  width:11px;height:11px;fill:currentColor;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-button .elementor-button-content-wrapper{
  gap:6px !important;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-button:hover,
body.limapol-public .lp-header .lp-cta-ghost.elementor-widget-button .elementor-button:hover{
  background:#fff !important;
  border-color:rgba(77,114,255,.22) !important;
  color:var(--lp-primary) !important;
  box-shadow:0 2px 8px -2px rgba(77,114,255,.12) !important;
  transform:none !important;
}

/* Primary CTA */
body.limapol-public .lp-header .elementor-widget-button.lp-cta-primary .elementor-button,
body.limapol-public .lp-header .lp-cta-primary.elementor-widget-button .elementor-button{
  background:var(--lp-gradient) !important;
  background-image:var(--lp-gradient) !important;
  border:none !important;
  color:#fff !important;
  font-weight:700 !important;
  font-size:13px !important;
  padding:9px 18px !important;
  box-shadow:0 4px 14px -4px rgba(77,114,255,.45) !important;
}
body.limapol-public .lp-header .elementor-widget-button.lp-cta-primary .elementor-button:hover,
body.limapol-public .lp-header .lp-cta-primary.elementor-widget-button .elementor-button:hover{
  box-shadow:0 6px 18px -4px rgba(77,114,255,.55) !important;
  transform:none !important;
}

/* Hamburguesa */
body.limapol-public .lp-header .elementor-menu-toggle{
  align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;
  background:rgba(11,15,36,.04) !important;
  border:1px solid var(--lp-nav-border-scrolled) !important;
  color:var(--lp-text) !important;
}
body.limapol-public .lp-header .elementor-menu-toggle svg,
body.limapol-public .lp-header .elementor-menu-toggle .e-font-icon-svg{
  fill:currentColor !important;
  color:currentColor !important;
}
body.limapol-public .lp-header .elementor-element-6e8b2c6 .elementor-menu-toggle,
body.limapol-public .lp-header .elementor-element-6e8b2c6 div.elementor-menu-toggle{
  color:var(--lp-text) !important;
}
body.limapol-public .lp-header .elementor-element-6e8b2c6 .elementor-menu-toggle svg,
body.limapol-public .lp-header .elementor-element-6e8b2c6 div.elementor-menu-toggle svg,
body.limapol-public .lp-header .elementor-element-6e8b2c6 .elementor-menu-toggle .e-font-icon-svg{
  fill:var(--lp-text) !important;
  color:var(--lp-text) !important;
}
body.limapol-public .lp-header .elementor-menu-toggle:hover{
  background:rgba(77,114,255,.08) !important;
  border-color:rgba(77,114,255,.18) !important;
  color:var(--lp-primary) !important;
}
body.limapol-public .lp-header .elementor-menu-toggle:hover svg,
body.limapol-public .lp-header .elementor-menu-toggle:hover .e-font-icon-svg{
  fill:var(--lp-primary) !important;
  color:var(--lp-primary) !important;
}

/* Responsive */
@media (max-width:1500px){
  body.limapol-public .lp-header .elementor-nav-menu--main .elementor-item{
    font-size:13px !important;padding:7px 10px !important;
  }
  body.limapol-public .lp-wordmark__img{height:42px;width:42px}
  body.limapol-public .lp-wordmark__text{font-size:1.44rem}
  body.limapol-public .lp-header .elementor-widget-button.lp-cta-ghost .elementor-button,
  body.limapol-public .lp-header .elementor-widget-button.lp-cta-primary .elementor-button{
    font-size:12.5px !important;padding:8px 14px !important;
  }
}
@media (max-width:1365px){
  body.limapol-public .lp-header .lp-hide-laptop{display:none !important}
  body.limapol-public .lp-header .elementor-nav-menu--main{display:none !important}
  body.limapol-public .lp-header .elementor-menu-toggle{display:flex !important}
}
@media (max-width:1199px){
  body.limapol-public .lp-header .lp-hide-tablet-extra{display:none !important}
}
@media (max-width:767px){
  body.limapol-public .lp-header{
    width:100% !important;
    --lp-nav-side:max(16px,calc((100% - var(--lp-content-max)) / 2));
    padding:0 var(--lp-nav-side) !important;
    --lp-nav-glass-blur:22px;
    --lp-nav-glass-blur-scrolled:28px;
  }
  body.limapol-public{--lp-nav-h:56px}
  body.limapol-public .lp-wordmark__img{height:38px;width:38px}
  body.limapol-public .lp-wordmark__text{font-size:1.28rem}
}

/* 10) FOOTER — wrapper Elementor (JS mobile CTA) */
.lp-footer{
  position:relative;background:#0B0F24;color:var(--lp-dark-text);
  overflow:hidden;
}

/* 11) MOCKUP HERO */
.lp-hero-visual{
  width:100%;max-width:520px;margin-inline:auto;
  contain:layout style;
}
.lp-hero-visual__label{
  margin:0 0 14px;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;text-align:center;color:var(--lp-primary);
}
.lp-hero-visual__caption{
  margin:14px 0 0;font-size:.75rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;text-align:center;color:var(--lp-text-3);line-height:1.5;
}
.lp-mockup{
  position:relative;width:100%;max-width:520px;margin-inline:auto;
  display:flex;flex-direction:column;gap:18px;padding-top:36px;
}
.lp-mockup *{box-sizing:border-box}
.lp-mockup__card{
  position:relative;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(11,15,36,.08);
  box-shadow:0 16px 40px -24px rgba(11,15,36,.22),0 2px 8px -2px rgba(11,15,36,.08);
  border-radius:20px;padding:18px 20px;
}
.lp-mockup__card::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0) 40%);
  opacity:.6;
}
.lp-mockup__card--main{display:flex;flex-direction:column;gap:14px}
.lp-mockup__top{display:flex;align-items:center;gap:12px}
.lp-mockup__avatar{
  width:42px;height:42px;border-radius:13px;
  background:var(--lp-gradient);color:#fff;display:grid;place-items:center;
  font-weight:700;font-family:var(--lp-font-display);font-size:13px;
  box-shadow:0 8px 18px -8px rgba(77,114,255,.55);flex-shrink:0;
}
.lp-mockup__id{display:flex;flex-direction:column;line-height:1.2;flex:1;min-width:0}
.lp-mockup__name{font-weight:700;font-size:14px;color:#0E1226}
.lp-mockup__rank{font-size:11px;color:#4A5273}
.lp-mockup__xp{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}
.lp-mockup__xp small{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8088A8}
.lp-mockup__xp strong{
  font-size:18px;font-weight:700;font-family:var(--lp-font-display);
  background:var(--lp-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.lp-mockup__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lp-kpi{background:rgba(246,248,255,.7);border:1px solid rgba(11,15,36,.06);border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:2px}
.lp-kpi span{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8088A8}
.lp-kpi strong{font-size:18px;font-weight:700;font-family:var(--lp-font-display);color:#0E1226;line-height:1.1}
.lp-kpi[data-acc] strong{background:var(--lp-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-mockup__chart{height:80px;border-radius:11px;background:linear-gradient(180deg,rgba(77,114,255,.06),rgba(77,114,255,0) 70%),radial-gradient(circle at 80% 20%,rgba(123,91,255,.14),transparent 55%);position:relative;overflow:hidden}
.lp-mockup__chart svg{width:100%;height:100%;display:block}
.lp-mockup__card--ranking{align-self:flex-end;width:80%;display:flex;flex-direction:column;gap:8px;margin-top:-4px;z-index:2}
.lp-mockup__title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8088A8;margin-bottom:2px}
.lp-row{display:flex;align-items:center;gap:10px}
.lp-row__pos{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;background:var(--lp-gradient)}
.lp-row__pos.is-2{background:linear-gradient(135deg,#9CA3AF,#6B7280)}
.lp-row__pos.is-3{background:linear-gradient(135deg,#F59E0B,#B45309)}
.lp-row__name{flex:1;font-size:13px;color:#0E1226;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-row__score{font-family:var(--lp-font-display);font-weight:700;color:#0E1226;font-size:13px}
.lp-mockup__card--mission{
  position:absolute;top:0;right:8%;left:auto;
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,rgba(77,114,255,.96),rgba(123,91,255,.96)) !important;
  color:#fff !important;border-color:rgba(255,255,255,.25) !important;
  padding:10px 14px;font-size:12px;font-weight:500;
  box-shadow:0 16px 40px -16px rgba(77,114,255,.6);border-radius:12px;z-index:3;white-space:nowrap;
}
.lp-mockup__card--mission strong{margin-left:6px;font-family:var(--lp-font-display);font-weight:700}
.lp-mockup__card--mission::after{display:none}
.lp-mockup__pulse{
  width:8px;height:8px;border-radius:50%;background:#fff;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(255,255,255,.6);
  animation:lp-pulse 2s ease-out infinite;
}
@keyframes lp-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}
  70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}
  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}
@media (max-width:768px){
  .lp-mockup{max-width:380px;padding-top:28px}
  .lp-mockup__card--ranking{width:90%}
  .lp-mockup__card--mission{font-size:11px;padding:8px 12px}
  .lp-mockup__card{
    background:#fff;
    box-shadow:0 8px 24px -16px rgba(11,15,36,.18);
  }
  .lp-mockup__pulse{animation:none}
}

/* Trust row */
.lp-trust{display:flex;flex-wrap:wrap;align-items:center;gap:18px;color:var(--lp-text-2);font-size:13px}
.lp-trust > div{display:flex;align-items:center;gap:6px;white-space:nowrap}
.lp-trust strong{color:var(--lp-text);font-weight:700;font-family:var(--lp-font-display)}
.lp-trust .lp-stars{color:#F5A623;letter-spacing:1px;font-size:14px}
.lp-trust__check{
  display:inline-grid;place-items:center;
  width:16px;height:16px;border-radius:50%;
  background:rgba(77,114,255,.12);color:var(--lp-primary);
  font-size:10px;font-weight:700;line-height:1;flex-shrink:0;
}

/* 12) FEATURES */
.lp-feature{display:flex;flex-direction:column;gap:14px;height:100%}
.lp-feature__icon{
  width:50px;height:50px;border-radius:13px;display:grid;place-items:center;
  background:var(--lp-gradient-soft);color:var(--lp-primary);font-size:21px;
  border:1px solid rgba(77,114,255,.18);
  box-shadow:0 8px 20px -10px rgba(77,114,255,.4);
}
.lp-feature h3{font-size:1.13rem;line-height:1.3;margin:0;font-family:var(--lp-font-display);font-weight:600;color:var(--lp-text)}
.lp-feature p{color:var(--lp-text-2);line-height:1.6;margin:0;font-size:.93rem}

/* 12b) FEATURES V2 — home "Lo que incluye" (sin backdrop-filter por card) */
.lp-features-sec{
  contain:layout style;
  content-visibility:auto;
  contain-intrinsic-size:auto 880px;
}
.lp-features-v2{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}
.lp-features-v2__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
  margin-bottom:clamp(1.75rem,4vw,2.75rem);
}
.lp-features-v2__title{
  margin:0;
  font-family:var(--lp-font-display);
  font-weight:700;
  font-size:clamp(1.8rem,3.2vw,2.8rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--lp-text);
  max-width:22em;
}
.lp-features-v2__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
}
.lp-features-v2__card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:0;
  padding:clamp(1.25rem,2vw,1.75rem);
  border-radius:var(--lp-r-lg);
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(165deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 100%);
  box-shadow:var(--lp-glass-shadow);
  transition:border-color .22s var(--lp-ease),box-shadow .22s var(--lp-ease);
}
.lp-features-v2__card:hover{
  border-color:rgba(77,114,255,.28);
  box-shadow:0 18px 48px -16px rgba(77,114,255,.22),0 2px 6px -2px rgba(11,15,36,.06);
}
.lp-features-v2__icon{
  width:50px;
  height:50px;
  border-radius:13px;
  display:grid;
  place-items:center;
  flex-shrink:0;
  color:var(--lp-primary);
  background:var(--lp-gradient-soft);
  border:1px solid rgba(77,114,255,.16);
}
.lp-features-v2__svg{
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lp-features-v2__name{
  margin:0;
  font-family:var(--lp-font-display);
  font-weight:600;
  font-size:1.13rem;
  line-height:1.3;
  color:var(--lp-text);
}
.lp-features-v2__desc{
  margin:0;
  font-family:var(--lp-font-body);
  font-size:.93rem;
  line-height:1.6;
  color:var(--lp-text-2);
}
@media (max-width:1024px){
  .lp-features-v2__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media (max-width:640px){
  .lp-features-v2__grid{grid-template-columns:1fr;gap:16px}
  .lp-features-v2__title{max-width:none}
}

/* 12c) PRICING V2 — home (sin glass anidado ni hover doble) */
.lp-pricing-sec{
  contain:layout style;
  content-visibility:auto;
  contain-intrinsic-size:auto 720px;
}
.lp-pricing-v2{
  width:100%;
  max-width:1100px;
  margin:0 auto;
}
.lp-pricing-v2__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
  margin-bottom:clamp(1.75rem,4vw,2.75rem);
}
.lp-pricing-v2__title{
  margin:0;
  font-family:var(--lp-font-display);
  font-weight:700;
  font-size:clamp(1.8rem,3.2vw,2.8rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--lp-text);
  max-width:22em;
}
.lp-pricing-v2__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.lp-pricing-v2__card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:0;
  padding:clamp(1.35rem,2vw,1.85rem);
  padding-top:clamp(1.5rem,2.2vw,2rem);
  border-radius:var(--lp-r-lg);
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(165deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 100%);
  box-shadow:var(--lp-glass-shadow);
  transition:border-color .22s var(--lp-ease),box-shadow .22s var(--lp-ease);
  overflow:visible;
}
.lp-pricing-v2__card--featured{
  border:1.5px solid var(--lp-primary);
  box-shadow:0 24px 64px -20px rgba(77,114,255,.38);
  padding-top:clamp(1.85rem,2.5vw,2.35rem);
}
@media (hover:hover) and (pointer:fine){
  .lp-pricing-v2__card:hover{
    border-color:rgba(77,114,255,.32);
    box-shadow:0 20px 48px -18px rgba(77,114,255,.24),0 2px 6px -2px rgba(11,15,36,.06);
  }
  .lp-pricing-v2__card--featured:hover{
    border-color:var(--lp-primary);
    box-shadow:0 28px 72px -18px rgba(77,114,255,.48);
  }
}
.lp-pricing-v2__badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:var(--lp-gradient);
  color:#fff;
  font-family:var(--lp-font-body);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:999px;
  box-shadow:0 8px 20px -8px rgba(77,114,255,.55);
  white-space:nowrap;
  pointer-events:none;
}
.lp-pricing-v2__name{
  margin:0 0 6px;
  font-family:var(--lp-font-display);
  font-weight:600;
  font-size:1.05rem;
  color:var(--lp-text);
}
.lp-pricing-v2__desc{
  margin:0;
  font-size:.88rem;
  line-height:1.45;
  color:var(--lp-text-2);
}
.lp-pricing-v2__amount{
  margin:0;
  display:flex;
  align-items:baseline;
  gap:6px;
  font-family:var(--lp-font-display);
  font-size:2.7rem;
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--lp-text);
}
.lp-pricing-v2__amount span{
  font-family:var(--lp-font-body);
  font-size:.95rem;
  font-weight:500;
  letter-spacing:0;
  color:var(--lp-text-2);
}
.lp-pricing-v2__amount-note,
.lp-price-card__amount-note{
  margin:-4px 0 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:.82rem;
  line-height:1.4;
}
.lp-pricing-v2__equiv,
.lp-price-card__equiv{
  color:var(--lp-text-3);
  font-weight:500;
}
.lp-pricing-v2__save,
.lp-price-card__save{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(34,197,94,.12);
  color:#15803d;
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.02em;
  white-space:nowrap;
}
.lp-pricing-v2__features{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  flex:1;
}
.lp-pricing-v2__features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.92rem;
  line-height:1.5;
  color:var(--lp-text-2);
}
.lp-pricing-v2__features li::before{
  content:"✓";
  flex-shrink:0;
  width:20px;
  height:20px;
  margin-top:2px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:rgba(77,114,255,.12);
  color:var(--lp-primary);
  font-size:.7rem;
  font-weight:700;
}
.lp-pricing-v2__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:auto;
  text-decoration:none;
  box-sizing:border-box;
}
@media (max-width:1024px){
  .lp-pricing-v2__grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .lp-pricing-v2__title{max-width:none}
}
@media (max-width:640px){
  .lp-pricing-v2__grid{gap:20px}
}

/* Pricing hover legacy — sin transform anidado */
.lp-glass-card:has(.lp-price-card){
  transition:border-color .22s var(--lp-ease),box-shadow .22s var(--lp-ease);
}
.lp-glass-card:has(.lp-price-card):hover{
  transform:none;
}
.lp-glass-card .lp-price-card{
  transition:none !important;
}
.lp-glass-card .lp-price-card:hover{
  transform:none !important;
  box-shadow:none !important;
}

/* 13) PRICING */
.lp-price-card{display:flex;flex-direction:column;gap:18px;height:100%;position:relative}
.lp-price-card__name{font-family:var(--lp-font-display);font-weight:600;font-size:1.05rem;color:var(--lp-text);margin-bottom:6px}
.lp-price-card__desc{font-size:.88rem;color:var(--lp-text-2)}
.lp-price-card__amount{font-family:var(--lp-font-display);font-size:2.7rem;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--lp-text);display:flex;align-items:baseline;gap:6px}
.lp-price-card__amount span{font-size:.95rem;color:var(--lp-text-2);font-weight:500;font-family:var(--lp-font-body);letter-spacing:0}
.lp-price-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;flex:1}
.lp-price-card li{display:flex;align-items:flex-start;gap:10px;color:var(--lp-text-2);font-size:.92rem;line-height:1.5}
.lp-price-card li::before{
  content:"✓";color:var(--lp-primary);font-weight:700;flex-shrink:0;
  width:20px;height:20px;border-radius:6px;background:rgba(77,114,255,.12);
  display:grid;place-items:center;font-size:.7rem;margin-top:2px;
}
.lp-price-card .lp-cta-primary,
.lp-price-card .lp-cta-ghost{margin-top:auto;justify-content:center;width:100%}
.lp-price-card--featured{border:1.5px solid var(--lp-primary) !important;box-shadow:0 24px 64px -20px rgba(77,114,255,.4) !important}
.lp-price-card__badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--lp-gradient);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(77,114,255,.6);white-space:nowrap;
}

/* 14) ANIMACIONES */
.lp-floating{animation:lp-float 9s ease-in-out infinite;will-change:transform}
@keyframes lp-float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

/* 15) APP CARD para shortcodes */
.lp-app-card{
  background:var(--lp-glass-bg-strong);
  -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--lp-glass-border);
  border-radius:var(--lp-r-xl);
  box-shadow:var(--lp-glass-shadow);padding:clamp(1rem,1.6vw,1.6rem);
}

/* 16) FALLBACKS */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .lp-glass,.lp-glass-card,.lp-glass-strong,.lp-cta-ghost,.lp-app-card,.lp-mockup__card{background:rgba(255,255,255,.94) !important}
  body.limapol-public .lp-header{background:rgba(255,255,255,.92) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
}

/* 17) MÓVIL */
@media (max-width:768px){
  :root{--lp-glass-blur:12px}
  body.limapol-public::before{opacity:.7}
  .lp-glass-card:hover{transform:none}
}

/* 18) ACCESIBILIDAD */
@media (prefers-reduced-motion:reduce){
  body.limapol-public::before{animation:none}
  .lp-floating{animation:none}
  .lp-mockup__pulse{animation:none}
  *{transition:none !important}
}

/* 19) SCROLLBAR — viewport nativo (sin saltos ni carril pintado)
   Solo scrollbar-width/color: el pulgar lo pinta el SO; en macOS es overlay al desplazar. */
html:has(> body.limapol-public),
body.limapol-public{
  scrollbar-width:thin;
  scrollbar-color:var(--lp-scrollbar-thumb) transparent;
}

/* Paneles con scroll interno (menú móvil, bloques oscuros) */
body.limapol-public .lp-section--dark,
body.limapol-public .elementor-nav-menu--dropdown{
  scrollbar-width:thin;
  scrollbar-color:var(--lp-scrollbar-thumb-dark) transparent;
}
body.limapol-public .lp-section--dark::-webkit-scrollbar,
body.limapol-public .elementor-nav-menu--dropdown::-webkit-scrollbar{
  width:var(--lp-scrollbar-size);
  height:var(--lp-scrollbar-size);
}
body.limapol-public .lp-section--dark::-webkit-scrollbar-track,
body.limapol-public .elementor-nav-menu--dropdown::-webkit-scrollbar-track{
  background:transparent !important;
}
body.limapol-public .lp-section--dark::-webkit-scrollbar-thumb,
body.limapol-public .elementor-nav-menu--dropdown::-webkit-scrollbar-thumb{
  background:var(--lp-scrollbar-thumb-dark);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
body.limapol-public .lp-section--dark::-webkit-scrollbar-thumb:hover,
body.limapol-public .elementor-nav-menu--dropdown::-webkit-scrollbar-thumb:hover{
  background:var(--lp-scrollbar-thumb-dark-hover);
}

/* 20) ASTRA OVERRIDES */
body.limapol-public .ast-container,
body.limapol-public .site-content > .ast-container{padding-left:0 !important;padding-right:0 !important;max-width:none !important}
body.limapol-public #primary{padding:0 !important;margin:0 !important}
body.limapol-public .entry-content > p:empty{display:none}
body.limapol-public .ast-no-sidebar #primary{padding:0}
body.limapol-public .elementor-section-wrap > .elementor-section:first-of-type{margin-top:0}
body.limapol-public .ast-archive-description,
body.limapol-public .entry-header.ast-no-thumbnail{display:none}
body.limapol-public{padding:0 !important;margin:0 !important}

/* 21) GRID HELPERS */
.lp-grid-3 > .e-con-inner > .elementor-element,
.lp-grid-3 > .elementor-element{
  flex-grow:1 !important;flex-basis:280px !important;
}
.lp-grid-2 > .e-con-inner > .elementor-element,
.lp-grid-2 > .elementor-element{
  flex-grow:1 !important;flex-basis:380px !important;
}
.lp-grid-4 > .e-con-inner > .elementor-element,
.lp-grid-4 > .elementor-element{
  flex-grow:1 !important;flex-basis:220px !important;
}

/* ============================================================
   22) SECCIÓN OSCURA — paleta de la plataforma privada
   ============================================================ */
.lp-section--dark{
  background:
    radial-gradient(70vmax 50vmax at 15% -10%,rgba(77,114,255,.20),transparent 65%),
    radial-gradient(60vmax 50vmax at 90% 110%,rgba(123,91,255,.18),transparent 65%),
    linear-gradient(180deg,#0E1633 0%,#15203D 100%);
  color:var(--lp-dark-text);
  position:relative;
  overflow:hidden;
}
.lp-section--dark::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 30% 20%,rgba(77,114,255,.08) 0%,transparent 40%),
    radial-gradient(circle at 70% 80%,rgba(123,91,255,.06) 0%,transparent 40%);
}
.lp-section--dark > *{position:relative;z-index:1}

.lp-section--dark .elementor-heading-title,
.lp-section--dark h1,
.lp-section--dark h2,
.lp-section--dark h3,
.lp-section--dark h4{ color:#fff !important; }
.lp-section--dark p,
.lp-section--dark .elementor-text-editor,
.lp-section--dark .elementor-text-editor p{ color:rgba(234,238,255,.78) !important; }
.lp-section--dark a{ color:#8AA2FF; }
.lp-section--dark .lp-eyebrow{
  background:rgba(77,114,255,.18) !important;
  color:#8AA2FF !important;
  border:1px solid rgba(77,114,255,.3) !important;
}

/* Cards en sección oscura */
.lp-section--dark .lp-glass-card{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:var(--lp-dark-text) !important;
  box-shadow:var(--lp-glass-shadow-dark) !important;
}
.lp-section--dark .lp-glass-card::before{
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,0) 50%) !important;
}
.lp-section--dark .lp-glass-card:hover{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(77,114,255,.35) !important;
  transform:translateY(-3px);
}
.lp-section--dark .lp-glass-card h3,
.lp-section--dark .lp-glass-card h4,
.lp-section--dark .lp-glass-card .lp-mockup__name,
.lp-section--dark .lp-glass-card .lp-row__name,
.lp-section--dark .lp-glass-card .lp-row__score{ color:#fff !important; }
.lp-section--dark .lp-glass-card p,
.lp-section--dark .lp-glass-card li{ color:rgba(234,238,255,.78) !important; }
.lp-section--dark .lp-feature__icon{
  background:rgba(77,114,255,.18) !important;
  border-color:rgba(77,114,255,.35) !important;
  color:#8AA2FF !important;
}
.lp-section--dark .lp-cta-ghost{
  background:rgba(255,255,255,.04) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.15) !important;
  -webkit-backdrop-filter:none;backdrop-filter:none;
}
.lp-section--dark .lp-cta-ghost:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.35) !important;
  color:#fff !important;
}

/* KPIs estadísticas (estilo plataforma) */
.lp-stat{
  display:flex;flex-direction:column;gap:6px;
  padding:24px 28px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  position:relative;overflow:hidden;
}
.lp-stat::before{
  content:"";position:absolute;top:0;left:0;width:60px;height:60px;
  background:radial-gradient(circle at top left,rgba(77,114,255,.3),transparent 70%);
  pointer-events:none;
}
.lp-stat__num{
  font-family:var(--lp-font-display);font-weight:700;font-size:clamp(2.4rem,4.5vw,3.6rem);
  line-height:1;letter-spacing:-.03em;
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.lp-stat__lbl{
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(234,238,255,.65);
}

/* Testimonial cards en dark */
.lp-testimonial{
  display:flex;flex-direction:column;gap:18px;height:100%;
}
.lp-testimonial__quote{
  color:rgba(234,238,255,.92);font-size:1.02rem;line-height:1.6;
  font-family:var(--lp-font-body);font-weight:400;
  position:relative;flex:1;
}
.lp-testimonial__quote::before{
  content:'"';position:absolute;top:-32px;left:-8px;
  font-family:var(--lp-font-display);font-size:5rem;line-height:1;
  color:rgba(77,114,255,.4);font-weight:700;
}
.lp-testimonial__author{display:flex;align-items:center;gap:12px;margin-top:auto}
.lp-testimonial__avatar{
  width:46px;height:46px;border-radius:14px;flex-shrink:0;
  background:var(--lp-gradient);color:#fff;display:grid;place-items:center;
  font-weight:700;font-family:var(--lp-font-display);font-size:14px;
  box-shadow:0 8px 18px -8px rgba(77,114,255,.5);
}
.lp-testimonial__name{font-weight:700;color:#fff;font-size:.95rem;line-height:1.2}
.lp-testimonial__meta{font-size:.82rem;color:rgba(234,238,255,.55);line-height:1.2;margin-top:2px}
.lp-testimonial__stars{color:#F5A623;font-size:.85rem;letter-spacing:1px;margin-top:6px}

/* Step cards numeradas estilo plataforma */
.lp-step{
  display:flex;flex-direction:column;gap:12px;height:100%;
  padding:28px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  position:relative;overflow:hidden;
}
.lp-step__num{
  font-family:var(--lp-font-display);font-weight:700;font-size:3rem;line-height:1;letter-spacing:-.04em;
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.lp-step h3{font-family:var(--lp-font-display);font-weight:600;font-size:1.2rem;color:#fff;margin:4px 0 0;line-height:1.3}
.lp-step p{color:rgba(234,238,255,.72);font-size:.93rem;line-height:1.6;margin:0}

/* Provincia tab para Andalucía */
.lp-province-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}
.lp-province-tab{
  padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);
  color:rgba(234,238,255,.75);font-size:.9rem;font-weight:500;
  cursor:pointer;transition:all .25s var(--lp-ease);
  font-family:var(--lp-font-body);
}
.lp-province-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.lp-province-tab.is-active{
  background:var(--lp-gradient);border-color:transparent;color:#fff;
  box-shadow:0 8px 20px -8px rgba(77,114,255,.6);
}

/* "Aprobado" card en grid */
.lp-approved{
  display:flex;flex-direction:column;gap:10px;
  padding:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  text-align:center;height:100%;
  position:relative;
}
.lp-approved__avatar{
  width:64px;height:64px;border-radius:18px;margin:0 auto;
  background:var(--lp-gradient);color:#fff;display:grid;place-items:center;
  font-weight:700;font-family:var(--lp-font-display);font-size:18px;
  box-shadow:0 12px 24px -10px rgba(77,114,255,.5);
}
.lp-approved__name{font-weight:700;color:var(--lp-text);font-size:.95rem}
.lp-approved__city{font-size:.82rem;color:var(--lp-text-2)}
.lp-section--dark .lp-approved__name{color:#fff}
.lp-section--dark .lp-approved__city{color:rgba(234,238,255,.6)}
.lp-approved__year{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(77,114,255,.18);color:#8AA2FF;
  padding:4px 10px;border-radius:999px;border:1px solid rgba(77,114,255,.3);
}

/* Decorative dot patterns */
.lp-dot-pattern{
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:24px 24px;
}

/* 23) PAGE UTILITIES — hero, cards, FAQ, legal, forms */
.lp-page-hero__eyebrow{display:flex;justify-content:center}
.lp-icon-badge{
  width:80px;height:80px;border-radius:24px;
  background:var(--lp-gradient);color:#fff;
  display:grid;place-items:center;
  box-shadow:0 16px 32px -12px rgba(77,114,255,.5);
  margin:0 auto 8px;
}
.lp-icon-badge svg{width:36px;height:36px;fill:currentColor}
.lp-icon-badge--sm{width:52px;height:52px;border-radius:14px;box-shadow:0 8px 20px -10px rgba(77,114,255,.45);margin:0}
.lp-icon-badge--sm svg{width:24px;height:24px}

.lp-course-card{display:flex;flex-direction:column;gap:14px;height:100%}
.lp-course-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lp-course-card__tag{
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
  background:var(--lp-primary-100);color:var(--lp-primary);
}
.lp-course-card h3{font-family:var(--lp-font-display);font-weight:600;font-size:1.15rem;margin:0;color:var(--lp-text);line-height:1.3}
.lp-course-card p{color:var(--lp-text-2);font-size:.93rem;line-height:1.6;margin:0;flex:1}
.lp-course-card__link{align-self:flex-start;margin-top:4px}

.lp-conv-card{display:flex;flex-direction:column;gap:12px;height:100%}
.lp-conv-card h3{font-family:var(--lp-font-display);font-weight:600;font-size:1.1rem;margin:0;color:var(--lp-text)}
.lp-conv-card p{color:var(--lp-text-2);font-size:.92rem;line-height:1.6;margin:0;flex:1}
.lp-conv-card__status{
  align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
}
.lp-conv-card__status.is-open{background:rgba(34,197,94,.12);color:#15803d}
.lp-conv-card__status.is-soon{background:rgba(77,114,255,.12);color:var(--lp-primary)}
.lp-conv-card__status.is-closed{background:rgba(148,163,184,.15);color:#64748b}

.lp-cta-banner{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem)}
.lp-cta-banner h2{
  font-family:var(--lp-font-display);font-weight:700;
  font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0;color:var(--lp-text);
}
.lp-cta-banner p{color:var(--lp-text-2);font-size:1rem;line-height:1.65;margin:0;max-width:520px}
.lp-cta-banner__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:4px}
.lp-section--dark .lp-cta-banner h2{color:#fff}
.lp-section--dark .lp-cta-banner p{color:rgba(234,238,255,.78)}

.lp-faq{display:flex;flex-direction:column;gap:12px;width:100%}
.lp-faq-v2 .lp-faq__item{
  background:#fff;
  border:1px solid rgba(11,15,36,.08);
  border-radius:18px;overflow:hidden;
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
  transition:border-color .25s var(--lp-ease),box-shadow .25s var(--lp-ease);
}
.lp-faq-v2 .lp-faq__item[open]{
  border-color:rgba(77,114,255,.28);
  box-shadow:0 12px 32px -16px rgba(77,114,255,.18);
}
.lp-faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 20px;font-family:var(--lp-font-display);font-weight:600;font-size:.98rem;
  color:var(--lp-text);cursor:pointer;list-style:none;
}
.lp-faq__q-text{flex:1;line-height:1.4;text-align:left}
.lp-faq__icon{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:grid;place-items:center;
  background:rgba(77,114,255,.10);border:1px solid rgba(77,114,255,.16);
  transition:transform .25s var(--lp-ease),background .25s var(--lp-ease);
}
.lp-faq__icon::before,
.lp-faq__icon::after{
  content:"";position:absolute;width:12px;height:2px;border-radius:2px;background:var(--lp-primary);
}
.lp-faq__icon{position:relative}
.lp-faq__icon::after{transform:rotate(90deg)}
.lp-faq__item[open] .lp-faq__icon::after{opacity:0;transform:rotate(0)}
.lp-faq__item[open] .lp-faq__icon{background:var(--lp-gradient);border-color:transparent}
.lp-faq__item[open] .lp-faq__icon::before{background:#fff}
.lp-faq__item[open] .lp-faq__q{color:var(--lp-primary)}
.lp-faq__q::-webkit-details-marker{display:none}
.lp-faq__q::marker{display:none;content:""}
.lp-faq__a{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .28s var(--lp-ease);
}
.lp-faq__item[open] .lp-faq__a{grid-template-rows:1fr}
.lp-faq__a-inner{overflow:hidden}
.lp-faq__a-inner p{
  margin:0;padding:0 20px 18px;
  color:var(--lp-text-2);font-size:.94rem;line-height:1.68;
}

/* FAQ página — grupos por categoría */
.lp-faq-page{display:flex;flex-direction:column;gap:clamp(28px,4vw,40px);width:100%}
.lp-faq__group{display:flex;flex-direction:column;gap:14px}
.lp-faq__group-title{
  margin:0;font-family:var(--lp-font-display);font-size:1rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--lp-primary);
  padding-bottom:10px;border-bottom:1px solid rgba(77,114,255,.15);
}

/* FAQ compacta (landing) */
.lp-faq--compact .lp-faq__q{padding:16px 18px;font-size:.95rem}
.lp-faq--compact .lp-faq__a-inner p{padding:0 18px 16px;font-size:.92rem}
.lp-faq--compact{gap:10px}

/* Sección FAQ */
.lp-faq-sec .elementor-widget-heading .elementor-heading-title{
  max-width:640px;margin-inline:auto;
}
.lp-faq-sec--page .elementor-widget-text-editor p{
  max-width:560px;margin-inline:auto;color:var(--lp-text-2);
}

/* Fallback Elementor accordion (si queda alguno) */
body.limapol-public .elementor-widget-accordion .elementor-accordion-item{
  border:1px solid rgba(11,15,36,.08) !important;
  border-radius:18px !important;margin-bottom:10px !important;
  background:#fff !important;
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10) !important;
  overflow:hidden;
}
body.limapol-public .elementor-widget-accordion .elementor-tab-title{
  padding:18px 20px !important;font-family:var(--lp-font-display) !important;
  font-weight:600 !important;font-size:.98rem !important;color:var(--lp-text) !important;
}
body.limapol-public .elementor-widget-accordion .elementor-tab-content{
  padding:0 20px 18px !important;color:var(--lp-text-2) !important;
  font-size:.94rem !important;line-height:1.68 !important;border-top:none !important;
}

.lp-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:100%}
.lp-contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:100%;text-align:left}
.lp-contact-card h3{font-family:var(--lp-font-display);font-weight:600;font-size:1.05rem;margin:0;color:var(--lp-text)}
.lp-contact-card p{margin:0;color:var(--lp-text-2);font-size:.93rem;line-height:1.5}
.lp-contact-card a{color:var(--lp-primary);font-weight:600;text-decoration:none}
.lp-contact-card a:hover{color:var(--lp-primary-600)}
.lp-contact-card__meta{font-size:.82rem;color:var(--lp-text-3)}

.lp-callback-form{display:flex;flex-direction:column;gap:16px;width:100%}
.lp-callback-form__field{display:flex;flex-direction:column;gap:6px;text-align:left}
.lp-callback-form__field span{font-size:.82rem;font-weight:600;color:var(--lp-text-2)}
.lp-callback-form__field input,
.lp-callback-form__field select,
.lp-callback-form__field textarea{
  width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid rgba(11,15,36,.12);background:rgba(255,255,255,.9);
  font-family:var(--lp-font-body);font-size:.95rem;color:var(--lp-text);
}
.lp-callback-form__field input:focus,
.lp-callback-form__field select:focus,
.lp-callback-form__field textarea:focus{outline:none;box-shadow:var(--lp-glow);border-color:var(--lp-primary)}
.lp-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.lp-contact-form__row{grid-template-columns:1fr}}
.lp-callback-form__field textarea{resize:vertical;min-height:120px;font-family:inherit}
.lp-callback-form__check{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:var(--lp-text-2);text-align:left;line-height:1.45}
.lp-callback-form__check input{margin-top:3px;flex-shrink:0}
.lp-callback-form__note{font-size:.82rem;color:var(--lp-text-3);text-align:center;margin:0}

.lp-blog-card{display:flex;flex-direction:column;gap:10px;height:100%;text-align:left}
.lp-blog-card__date{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-primary)}
.lp-blog-card h3{font-family:var(--lp-font-display);font-weight:600;font-size:1.1rem;margin:0;color:var(--lp-text);line-height:1.35}
.lp-blog-card p{color:var(--lp-text-2);font-size:.92rem;line-height:1.6;margin:0;flex:1}
.lp-blog-card .lp-cta-ghost{align-self:flex-start;margin-top:4px}

.lp-legal{text-align:left;padding:clamp(1.5rem,3vw,2.5rem)}
.lp-legal h2{
  font-family:var(--lp-font-display);font-weight:600;font-size:1.25rem;
  margin:1.75rem 0 .65rem;color:var(--lp-text);
}
.lp-legal h2:first-child{margin-top:0}
.lp-legal p,.lp-legal li{color:var(--lp-text-2);font-size:.93rem;line-height:1.75}
.lp-legal ul{padding-left:1.25rem;margin:.5rem 0 1rem}
.lp-legal strong{color:var(--lp-text)}

/* LEGALES V2 — diseño profesional, sin glass pesado */
.lp-legal-sec{
  contain:layout style;
  content-visibility:auto;
  contain-intrinsic-size:auto 1200px;
}
.lp-legal-v2{
  width:100%;
  text-align:left;
}
.lp-legal-v2__trust{
  padding:clamp(1.1rem,2.5vw,1.5rem) clamp(1.25rem,3vw,1.75rem);
  margin-bottom:clamp(1.25rem,3vw,1.75rem);
  border-radius:var(--lp-r-md);
  border:1px solid rgba(77,114,255,.14);
  background:linear-gradient(135deg,rgba(77,114,255,.07) 0%,rgba(123,91,255,.05) 100%);
}
.lp-legal-v2__trust-lead{
  margin:0 0 .65rem;
  font-size:1rem;
  line-height:1.65;
  color:var(--lp-text);
}
.lp-legal-v2__trust-note{
  margin:0;
  font-size:.88rem;
  line-height:1.6;
  color:var(--lp-text-2);
}
.lp-legal-v2__toc{
  margin-bottom:clamp(1.25rem,3vw,1.75rem);
  padding:1rem 1.25rem;
  border-radius:var(--lp-r-md);
  border:1px solid var(--lp-line);
  background:rgba(255,255,255,.72);
}
.lp-legal-v2__toc-title{
  margin:0 0 .65rem;
  font-family:var(--lp-font-display);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--lp-text-3);
}
.lp-legal-v2__toc ol{
  margin:0;
  padding-left:1.25rem;
  columns:2;
  column-gap:2rem;
}
.lp-legal-v2__toc li{
  margin:.25rem 0;
  font-size:.9rem;
  line-height:1.45;
  break-inside:avoid;
}
.lp-legal-v2__toc a{
  color:var(--lp-text-2);
  text-decoration:none;
  transition:color .15s var(--lp-ease);
}
.lp-legal-v2__toc a:hover{color:var(--lp-primary)}
.lp-legal-v2__body{
  padding:clamp(1.35rem,3vw,2rem);
  border-radius:var(--lp-r-lg);
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(165deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 100%);
  box-shadow:var(--lp-glass-shadow);
}
.lp-legal-v2__section{
  padding-bottom:1.5rem;
  margin-bottom:1.5rem;
  border-bottom:1px solid var(--lp-line);
}
.lp-legal-v2__section:last-child{
  padding-bottom:0;
  margin-bottom:0;
  border-bottom:0;
}
.lp-legal-v2__section h2{
  scroll-margin-top:calc(var(--lp-nav-h, 64px) + 24px);
  margin:0 0 .75rem;
  font-family:var(--lp-font-display);
  font-weight:600;
  font-size:1.2rem;
  line-height:1.35;
  color:var(--lp-text);
}
.lp-legal-v2__section p,
.lp-legal-v2__section li{
  margin:0 0 .85rem;
  font-size:.93rem;
  line-height:1.75;
  color:var(--lp-text-2);
}
.lp-legal-v2__section ul{
  margin:.25rem 0 1rem;
  padding-left:1.25rem;
}
.lp-legal-v2__section li:last-child{margin-bottom:0}
.lp-legal-v2__section strong{color:var(--lp-text)}
.lp-legal-v2__section a{
  color:var(--lp-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.lp-legal-v2__section a:hover{color:var(--lp-primary-600)}
.lp-legal-v2__dl{
  margin:0 0 1rem;
  display:grid;
  gap:.65rem;
}
.lp-legal-v2__dl > div{
  display:grid;
  grid-template-columns:minmax(120px,34%) 1fr;
  gap:.75rem 1rem;
  padding:.65rem 0;
  border-bottom:1px solid rgba(11,15,36,.05);
}
.lp-legal-v2__dl > div:last-child{border-bottom:0}
.lp-legal-v2__dl dt{
  margin:0;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--lp-text-3);
}
.lp-legal-v2__dl dd{
  margin:0;
  font-size:.93rem;
  line-height:1.55;
  color:var(--lp-text);
}
.lp-legal-v2__table-wrap{
  overflow-x:auto;
  margin:1rem 0;
  -webkit-overflow-scrolling:touch;
}
.lp-legal-v2__table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
  font-size:.88rem;
}
.lp-legal-v2__table th,
.lp-legal-v2__table td{
  padding:.75rem .85rem;
  text-align:left;
  vertical-align:top;
  border:1px solid var(--lp-line);
}
.lp-legal-v2__table th{
  font-family:var(--lp-font-display);
  font-weight:600;
  font-size:.82rem;
  color:var(--lp-text);
  background:rgba(77,114,255,.06);
}
.lp-legal-v2__table td{color:var(--lp-text-2);line-height:1.55}
.lp-legal-v2__contact{
  margin-top:clamp(1.25rem,3vw,1.75rem);
  padding:clamp(1.1rem,2.5vw,1.5rem);
  border-radius:var(--lp-r-md);
  border:1px solid rgba(77,114,255,.16);
  background:rgba(77,114,255,.04);
}
.lp-legal-v2__contact-title{
  margin:0 0 .5rem;
  font-family:var(--lp-font-display);
  font-size:1.05rem;
  font-weight:600;
  color:var(--lp-text);
}
.lp-legal-v2__contact p{
  margin:0;
  font-size:.92rem;
  line-height:1.65;
  color:var(--lp-text-2);
}
.lp-legal-v2__contact a{color:var(--lp-primary)}
.lp-legal-v2__related{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid var(--lp-line);
}
.lp-legal-v2__related-title{
  margin:0 0 .65rem;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--lp-text-3);
}
.lp-legal-v2__related ul{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.25rem;
  margin:0;
  padding:0;
  list-style:none;
}
.lp-legal-v2__related a{
  font-size:.9rem;
  font-weight:600;
  color:var(--lp-primary);
  text-decoration:none;
}
.lp-legal-v2__related a:hover{text-decoration:underline}
@media (max-width:768px){
  .lp-legal-v2__toc ol{columns:1}
  .lp-legal-v2__dl > div{grid-template-columns:1fr;gap:.25rem}
}

/* Feature icons numéricos en cards */
.lp-glass-card .lp-feature__icon{
  font-family:var(--lp-font-display);font-weight:700;font-size:1.05rem;
}

/* 24) TRIAL PAGE — prueba 7 días split layout */
body.limapol-public .lp-trial-page{
  min-height:calc(100vh - var(--lp-nav-offset));
  align-items:stretch !important;
}
body.limapol-public .lp-trial-page__left{
  flex:1 1 50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3rem) !important;
  background:transparent !important;
}
body.limapol-public .lp-trial-page__right{
  flex:1 1 50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3rem) !important;
  background:rgba(255,255,255,.35);
  border-left:1px solid rgba(11,15,36,.06);
}
@media (max-width:1024px){
  body.limapol-public .lp-trial-page{flex-direction:column !important}
  body.limapol-public .lp-trial-page__right{border-left:none;border-top:1px solid rgba(11,15,36,.06)}
}

/* 25) FORM PANEL (Te llamamos) */
body.limapol-public .lp-form-panel-sec .lp-glass-card,
body.limapol-public .lp-form-panel-sec .lp-callback-form{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(11,15,36,.10);
  border-radius:20px;
  padding:clamp(1.25rem,3vw,1.75rem);
  box-shadow:0 24px 64px -24px rgba(11,15,36,.22);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  backdrop-filter:blur(20px) saturate(160%);
}

/* Login styles → assets/css/lp-login-public.css */

/* 26) BLOG GRID + SINGLE */
.lp-blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;width:100%;
}
.lp-blog-card h3 a{
  color:var(--lp-text);text-decoration:none;
  font-family:var(--lp-font-display);font-weight:600;font-size:1.1rem;line-height:1.35;
}
.lp-blog-card h3 a:hover{color:var(--lp-primary)}
.lp-blog-empty{text-align:center;padding:2rem}
body.limapol-public.lp-blog-single .site-content{padding-top:0}
body.limapol-public.lp-blog-single .entry-header{display:none}
body.limapol-public.lp-blog-single .entry-content{
  max-width:820px;margin:calc(var(--lp-nav-offset) + 1.5rem) auto 4rem;
  padding:0 clamp(1rem,3vw,2rem);
}
body.limapol-public.lp-blog-single .lp-blog-article{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(11,15,36,.08);
  border-radius:22px;
  padding:clamp(1.75rem,4vw,2.75rem);
  box-shadow:0 24px 64px -28px rgba(11,15,36,.18);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
}
body.limapol-public.lp-blog-single .lp-blog-article__back{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--lp-primary);font-size:.88rem;font-weight:600;
  text-decoration:none;margin-bottom:1.25rem;
}
body.limapol-public.lp-blog-single .lp-blog-article__back:hover{color:var(--lp-primary-600)}
body.limapol-public.lp-blog-single .lp-blog-article h1{
  font-family:var(--lp-font-display);font-size:clamp(1.85rem,4vw,2.6rem);
  line-height:1.12;margin:0 0 .75rem;letter-spacing:-.03em;
}
body.limapol-public.lp-blog-single .lp-blog-article__meta{
  color:var(--lp-text-3);font-size:.85rem;margin-bottom:1.75rem;
  padding-bottom:1.25rem;border-bottom:1px solid rgba(11,15,36,.08);
}
body.limapol-public.lp-blog-single .lp-blog-article__body h2{
  font-family:var(--lp-font-display);font-size:1.25rem;margin:1.75rem 0 .65rem;
}
body.limapol-public.lp-blog-single .lp-blog-article__body p,
body.limapol-public.lp-blog-single .lp-blog-article__body li{
  color:var(--lp-text-2);line-height:1.75;font-size:.98rem;
}
body.limapol-public.lp-blog-single .lp-blog-article__body a{color:var(--lp-primary);font-weight:600}
body.limapol-public.lp-blog-single .lp-blog-article__footer{
  margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(11,15,36,.08);
  display:flex;flex-wrap:wrap;gap:12px;
}

/* 27) FORM NOTICES */
.lp-form-notice{
  padding:12px 16px;border-radius:12px;font-size:.9rem;margin-bottom:16px;
}
.lp-form-notice--success{
  background:rgba(34,197,94,.12);color:#15803d;border:1px solid rgba(34,197,94,.25);
}
.lp-form-notice--error{
  background:rgba(239,68,68,.10);color:#b91c1c;border:1px solid rgba(239,68,68,.22);
}

/* 28) VISUAL POLISH — páginas secundarias */
body.limapol-public .lp-section .elementor-widget-heading .elementor-heading-title{
  max-width:820px;margin-inline:auto;
}
body.limapol-public .lp-section .elementor-widget-text-editor{
  max-width:640px;margin-inline:auto;
}
body.limapol-public .lp-section .elementor-widget-text-editor p{
  color:var(--lp-text-2);line-height:1.65;font-size:1.02rem;
}
body.limapol-public .lp-section--dark .elementor-widget-text-editor p{
  color:rgba(234,238,255,.78) !important;
}
body.limapol-public .lp-glass-card{
  transition:transform .28s var(--lp-ease),box-shadow .28s var(--lp-ease),border-color .28s var(--lp-ease);
}
body.limapol-public .lp-section:not(.lp-section--dark) .lp-glass-card:hover{
  transform:translateY(-3px);
}

/* 29) SPRINT 4 — scroll reveal, mobile nav, icons, polish */

/* Scroll reveal */
.lp-reveal{
  opacity:0;transform:translate3d(0,16px,0);
  transition:opacity .45s var(--lp-ease),transform .45s var(--lp-ease);
  will-change:opacity,transform;
}
.lp-reveal.is-visible{opacity:1;transform:none;will-change:auto}

/* SVG icons (sustitutos FA) */
.lp-svg-icon{display:inline-block;vertical-align:middle;flex-shrink:0}
.lp-feature__icon .lp-svg-icon,
.lp-icon-badge .lp-svg-icon{width:100%;height:100%}

/* Menú móvil dropdown (tablet/móvil ≤1365px) */
@media (max-width:1365px){
  body.limapol-public .lp-header .elementor-nav-menu--dropdown{
    position:fixed !important;
    top:var(--lp-nav-h) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100vw !important;
    margin:0 !important;
    transform:none !important;
    border-radius:0 !important;
    border:none !important;
    z-index:9998 !important;
    list-style:none !important;
    /* Cerrado por defecto — evita el panel “semi abierto” */
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
    opacity:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    padding:0 var(--lp-nav-side) !important;
    border-bottom:0 !important;
    box-shadow:none !important;
    background:rgba(255,255,255,.92) !important;
    -webkit-backdrop-filter:blur(28px) saturate(200%) brightness(1.04);
    backdrop-filter:blur(28px) saturate(200%) brightness(1.04);
  }

  body.limapol-public.lp-nav-open .lp-header .elementor-nav-menu--dropdown,
  body.limapol-public .lp-header .elementor-nav-menu--dropdown.lp-nav-dropdown--open{
    display:flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
    opacity:1 !important;
    max-height:calc(100dvh - var(--lp-nav-h)) !important;
    overflow-y:auto !important;
    padding:14px var(--lp-nav-side) 18px !important;
    border-bottom:1px solid var(--lp-nav-border-scrolled) !important;
    box-shadow:0 12px 32px -12px rgba(11,15,36,.12);
    flex-direction:column !important;
    align-items:stretch !important;
    gap:2px !important;
  }
}
@media (max-width:1365px){
  body.limapol-public .lp-header .elementor-nav-menu--dropdown > li{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    box-sizing:border-box !important;
    font-size:15px !important;
    font-weight:600 !important;
    padding:12px 14px !important;
    border-radius:10px !important;
    color:var(--lp-text) !important;
    text-align:center !important;
  }
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item::before,
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item::after{
    display:none !important;
    content:none !important;
  }
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item:hover,
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item-active,
  body.limapol-public .lp-header .elementor-nav-menu--dropdown .elementor-item:focus{
    background:rgba(77,114,255,.08) !important;
    color:var(--lp-primary) !important;
  }
}
body.limapol-public.lp-nav-open::after{
  content:"";position:fixed;inset:0;z-index:9997;
  background:rgba(11,15,36,.25);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
body.limapol-public.lp-nav-open{overflow:hidden}

/* Tablet/móvil con hamburguesa: solo logo + toggle */
@media (max-width:1365px){
  body.limapol-public .lp-header{
    justify-content:space-between !important;
    gap:12px !important;
  }
  body.limapol-public .lp-header > .e-con.elementor-element-7e78434{
    flex:0 1 auto !important;
    min-width:0 !important;
  }
  body.limapol-public .lp-header > .e-con.elementor-element-abd95d9{
    flex:0 0 auto !important;
    flex-grow:0 !important;
    justify-content:flex-end !important;
    margin-left:auto !important;
  }
  body.limapol-public .lp-header > .e-con.elementor-element-fa797a8{
    display:none !important;
  }
}

/* CTAs solo en desplegable — nunca en la barra horizontal */
body.limapol-public .lp-header .elementor-nav-menu--main .lp-nav-mobile-actions-wrap,
body.limapol-public .lp-header nav.elementor-nav-menu--main li.lp-nav-mobile-actions-wrap{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

body.limapol-public .lp-header nav.elementor-nav-menu--dropdown .lp-nav-mobile-actions-wrap::before,
body.limapol-public .lp-header nav.elementor-nav-menu--dropdown .lp-nav-mobile-actions-wrap::after{
  display:none !important;
  content:none !important;
}

/* Acciones rápidas dentro del desplegable móvil */
body.limapol-public .lp-header nav.elementor-nav-menu--dropdown .lp-nav-mobile-actions-wrap{
  display:block !important;
  visibility:visible !important;
  position:static !important;
  width:100% !important;
  height:auto !important;
  overflow:visible !important;
  pointer-events:auto !important;
  margin:10px 0 0 !important;
  padding:14px 0 0 !important;
  border-top:1px solid rgba(11,15,36,.08) !important;
}
body.limapol-public .lp-header .lp-nav-mobile-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  width:100%;
  box-sizing:border-box;
}
body.limapol-public .lp-header .lp-nav-mobile-action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:100% !important;
  min-height:44px !important;
  margin:0 !important;
  padding:10px 12px !important;
  font-family:var(--lp-font-body) !important;
  font-weight:600 !important;
  font-size:13px !important;
  line-height:1.3 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
  transform:none !important;
  transition:background-color .18s var(--lp-ease),border-color .18s var(--lp-ease),color .18s var(--lp-ease),box-shadow .18s var(--lp-ease) !important;
}
body.limapol-public .lp-header .lp-nav-mobile-action span{
  display:inline;
}
body.limapol-public .lp-header .lp-nav-mobile-action__icon{
  width:15px;
  height:15px;
  flex-shrink:0;
}
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-ghost{
  background:rgba(255,255,255,.98) !important;
  background-image:none !important;
  border:1px solid rgba(11,15,36,.12) !important;
  color:var(--lp-text) !important;
  box-shadow:0 1px 3px rgba(11,15,36,.08) !important;
}
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-ghost:hover,
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-ghost:focus-visible{
  background:#fff !important;
  border-color:rgba(77,114,255,.22) !important;
  color:var(--lp-primary) !important;
  box-shadow:0 2px 8px -2px rgba(77,114,255,.12) !important;
  transform:none !important;
}
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-primary{
  grid-column:1 / -1;
  background:var(--lp-gradient) !important;
  background-image:var(--lp-gradient) !important;
  background-color:transparent !important;
  border:none !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:0 4px 14px -4px rgba(77,114,255,.45) !important;
}
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-primary:hover,
body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-primary:focus-visible{
  background:var(--lp-gradient) !important;
  background-image:var(--lp-gradient) !important;
  color:#fff !important;
  box-shadow:0 6px 18px -4px rgba(77,114,255,.55) !important;
  transform:none !important;
}

@media (max-width:400px){
  body.limapol-public .lp-header .lp-nav-mobile-actions{
    grid-template-columns:1fr;
  }
  body.limapol-public .lp-header .lp-nav-mobile-action.lp-cta-primary{
    grid-column:auto;
  }
}

/* Legacy: ocultar CTAs sueltos en barra estrecha */
@media (max-width:767px){
  body.limapol-public .lp-header .lp-hide-mobile{display:none !important}
}

/* Astra scroll-to-top — visible y coherente en zona pública */
body.limapol-public #ast-scroll-top{
  background-color:rgba(11,15,36,.88) !important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 8px 24px -8px rgba(0,0,0,.45);
}
body.limapol-public #ast-scroll-top:hover{
  background-color:var(--lp-primary) !important;
}

/* FAQ acordeón mejorado — legacy hooks */
.lp-faq__item{transition:border-color .25s var(--lp-ease),box-shadow .25s var(--lp-ease)}
.lp-faq__q{transition:color .2s}

/* Page hero icon badge (usado en HTML widgets) */
.lp-page-icon{
  width:80px;height:80px;border-radius:24px;
  background:var(--lp-gradient);color:#fff;
  display:grid;place-items:center;margin:0 auto 12px;
  box-shadow:0 16px 32px -12px rgba(77,114,255,.5);
}
.lp-page-icon .lp-svg-icon,
.lp-page-icon svg{width:36px;height:36px;fill:currentColor}

/* Form loading */
.lp-callback-form [type="submit"]:disabled{
  opacity:.7;cursor:not-allowed;transform:none !important;
}

/* Secciones: padding mobile más compacto */
@media (max-width:767px){
  .lp-section,
  body.limapol-public .e-con.lp-section,
  body.limapol-public .elementor-element.lp-section{
    padding-top:var(--lp-space-section-y-sm) !important;
    padding-bottom:var(--lp-space-section-y-sm) !important;
  }
  body.limapol-public .lp-section .elementor-widget-heading .elementor-heading-title{
    font-size:clamp(1.6rem,6vw,2.2rem) !important;
  }
  .lp-grid-3 > .e-con-inner > .elementor-element,
  .lp-grid-3 > .elementor-element{flex-basis:100% !important}
  .lp-grid-4 > .e-con-inner > .elementor-element,
  .lp-grid-4 > .elementor-element{flex-basis:calc(50% - 8px) !important}
}

@media (prefers-reduced-motion:reduce){
  .lp-reveal{opacity:1;transform:none;transition:none}
}

/* 30) 404, cookie banner */

html:has(body.limapol-404-page){
  min-height:100dvh;
  min-height:100vh;
  background:#15203D;
}

body.limapol-404-page{
  min-height:100dvh;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(70vmax 50vmax at 15% -10%,rgba(77,114,255,.20),transparent 65%),
    radial-gradient(60vmax 50vmax at 90% 110%,rgba(123,91,255,.18),transparent 65%),
    linear-gradient(180deg,#0E1633 0%,#15203D 100%) !important;
}

body.limapol-404-page #page,
body.limapol-404-page .site-content,
body.limapol-404-page #content,
body.limapol-404-page .ast-container,
body.limapol-404-page #primary.site-main{
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:0;
  background:transparent !important;
}

body.limapol-404-page::before{
  display:none !important;
}

body.limapol-404-page .site-footer,
body.limapol-404-page #colophon,
body.limapol-404-page .site-below-footer-wrap{
  display:none !important;
}

body.limapol-404-page #content.site-content{
  min-height:calc(100dvh - var(--lp-nav-offset, 72px));
  min-height:calc(100vh - var(--lp-nav-offset, 72px));
}

body.limapol-404-page .limapol-404{
  flex:1;
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:100%;
}

body.limapol-404-page .lp-404{
  flex:1;
  width:100%;
  min-height:calc(100dvh - var(--lp-nav-offset, 72px));
  min-height:calc(100vh - var(--lp-nav-offset, 72px));
  display:grid;
  place-items:center;
  text-align:center;
  padding:clamp(3rem,8vw,6rem) clamp(1.25rem,4vw,2rem);
}

.lp-404{
  display:grid;
  place-items:center;
  text-align:center;
  padding:clamp(3rem,8vw,6rem) clamp(1.25rem,4vw,2rem);
}
.lp-404__inner{max-width:520px;margin:0 auto}
.lp-404__title{
  font-family:var(--lp-font-display);font-size:clamp(2rem,5vw,2.75rem);
  font-weight:700;color:#fff;margin:0 0 12px;
}
.lp-404__text{color:rgba(234,238,255,.65);font-size:1.05rem;line-height:1.65;margin:0 0 28px}
.lp-404__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.lp-404__actions a{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 24px;border-radius:999px;font-weight:600;font-size:.95rem;
  text-decoration:none;transition:transform .2s var(--lp-ease),box-shadow .2s;
}
.lp-404__actions .lp-btn--primary{
  background:var(--lp-gradient);color:#fff;
  box-shadow:0 8px 24px -8px rgba(77,114,255,.55);
}
.lp-404__actions .lp-btn--primary:hover{transform:translateY(-2px)}
.lp-404__actions .lp-btn--ghost{
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
.lp-404__actions .lp-btn--ghost:hover{background:rgba(255,255,255,.14)}

/* Cookie banner */
.lp-cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:99999;
  padding:16px clamp(1rem,4vw,2rem);
  transform:translateY(110%);
  transition:transform .35s var(--lp-ease);
  pointer-events:none;
}
.lp-cookie-banner.is-visible{
  transform:none;pointer-events:auto;
}
.lp-cookie-banner__inner{
  max-width:960px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
  padding:18px 22px;border-radius:18px;
  background:rgba(11,15,36,.92);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 -8px 40px -12px rgba(0,0,0,.45);
}
.lp-cookie-banner__text{
  flex:1 1 280px;margin:0;color:rgba(234,238,255,.75);
  font-size:.88rem;line-height:1.55;
}
.lp-cookie-banner__text a{color:var(--lp-primary-light);text-decoration:underline}
.lp-cookie-banner__actions{display:flex;gap:10px;flex-shrink:0}
.lp-cookie-banner__btn{
  padding:10px 18px;border-radius:999px;font-weight:600;font-size:.88rem;
  cursor:pointer;border:0;font-family:inherit;transition:background .2s,transform .2s;
}
.lp-cookie-banner__btn--ghost{
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.15);
}
.lp-cookie-banner__btn--ghost:hover{background:rgba(255,255,255,.14)}
.lp-cookie-banner__btn--primary{
  background:var(--lp-gradient);color:#fff;
  box-shadow:0 4px 16px -6px rgba(77,114,255,.5);
}
.lp-cookie-banner__btn--primary:hover{transform:translateY(-1px)}

@media (max-width:480px){
  .lp-cookie-banner__inner{flex-direction:column;align-items:stretch}
  .lp-cookie-banner__actions{width:100%}
  .lp-cookie-banner__btn{flex:1}
}

/* 31) CTA sticky móvil */
.lp-mobile-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:9990;
  display:none;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(11,15,36,.94);
  border-top:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 -8px 32px -12px rgba(0,0,0,.45);
  transform:translateY(110%);
  transition:transform .3s var(--lp-ease);
}
.lp-mobile-cta.is-visible{
  display:flex;transform:none;
}
.lp-mobile-cta__primary,
.lp-mobile-cta__ghost{
  flex:1;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:999px;font-weight:600;font-size:.88rem;
  text-decoration:none;text-align:center;white-space:nowrap;
}
.lp-mobile-cta__primary{
  background:var(--lp-gradient);color:#fff;
  box-shadow:0 4px 16px -6px rgba(77,114,255,.55);
}
.lp-mobile-cta__ghost{
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
body.limapol-public.lp-has-mobile-cta{padding-bottom:72px}
body.limapol-public.lp-has-mobile-cta .lp-cookie-banner{bottom:72px}

@media (min-width:768px){
  .lp-mobile-cta{display:none !important}
}

/* 32) Sprint 8 — breadcrumbs + enlaces internos SEO */
.lp-breadcrumbs-wrap{
  max-width:1200px;margin:0 auto;
  padding:12px clamp(1.25rem,4vw,2.5rem) 0;
}
.lp-breadcrumbs__list{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;
  list-style:none;margin:0;padding:0;
  font-size:.82rem;color:var(--lp-text-3);
}
.lp-breadcrumbs__item a{
  color:var(--lp-text-2);text-decoration:none;font-weight:500;
  transition:color .2s;
}
.lp-breadcrumbs__item a:hover{color:var(--lp-primary)}
.lp-breadcrumbs__item span{color:var(--lp-text);font-weight:600}
.lp-breadcrumbs__sep{
  color:var(--lp-text-3);opacity:.5;user-select:none;
  list-style:none;
}

.lp-internal-links-wrap{
  max-width:1200px;margin:0 auto;
  padding:clamp(2.5rem,5vw,4rem) clamp(1.25rem,4vw,2.5rem) clamp(3rem,6vw,4.5rem);
  background:linear-gradient(180deg,#fff 0%,var(--lp-bg) 100%);
}
.lp-internal-links{
  padding:24px 28px;border-radius:20px;
  background:rgba(77,114,255,.04);
  border:1px solid rgba(77,114,255,.12);
}
.lp-internal-links__title{
  margin:0 0 16px;font-size:.78rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--lp-text-3);text-align:center;
}
.lp-internal-links__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;
}
.lp-internal-links__link{
  display:block;padding:12px 16px;border-radius:12px;
  background:rgba(255,255,255,.7);border:1px solid rgba(11,15,36,.08);
  color:var(--lp-text);font-size:.88rem;font-weight:600;text-decoration:none;
  text-align:center;transition:background .2s,border-color .2s,transform .2s;
}
.lp-internal-links__link:hover{
  background:#fff;border-color:rgba(77,114,255,.25);
  transform:translateY(-1px);color:var(--lp-primary);
}

body.limapol-public.lp-blog-single .lp-breadcrumbs-wrap{padding-top:20px}

@media (max-width:767px){
  .lp-internal-links__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .lp-internal-links__grid{grid-template-columns:1fr}
}

/* 33) Sprint 9 — content-visibility secciones below-fold */
@media (min-width:768px){
  body.limapol-public .lp-section ~ .lp-section{
    content-visibility:auto;
    contain-intrinsic-size:auto 520px;
    contain:layout style;
  }
  body.limapol-public .lp-section:first-of-type{
    content-visibility:visible;
    contain:none;
  }
}

/* 34) Sprint 10 — confianza visual + turbo */
body.limapol-public .e-con.lp-trust-badges-sec,
body.limapol-public .e-con.lp-proof-strip-sec,
.lp-trust-badges-sec{padding-block:clamp(0.75rem,2vw,1.5rem) !important}
.lp-trust-badges{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(10px,2vw,18px);width:100%;
}
.lp-trust-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,15,36,.08);
  color:var(--lp-text-2);font-size:.84rem;font-weight:600;
  box-shadow:0 8px 24px -16px rgba(11,15,36,.18);
  transition:transform .25s var(--lp-ease),border-color .25s,box-shadow .25s;
}
.lp-trust-badge__icon{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:rgba(77,114,255,.12);color:var(--lp-primary);flex-shrink:0;
}
.lp-trust-badge:hover{
  transform:translateY(-1px);
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 28px -14px rgba(77,114,255,.25);
}
.lp-section--dark .lp-trust-badge{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:rgba(234,238,255,.85);
}
.lp-section--dark .lp-trust-badge__icon{background:rgba(77,114,255,.22);color:#A8B8FF}

/* Hero demo CSS (sin imagen, LCP-friendly) */
.lp-hero-demo{
  position:relative;margin-bottom:20px;
}
.lp-hero-demo__screen{
  border-radius:18px;overflow:hidden;
  background:linear-gradient(145deg,#0E1633 0%,#15203D 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 16px 40px -20px rgba(14,22,51,.45);
}
.lp-hero-demo__bar{
  display:flex;gap:6px;padding:12px 14px;
  background:rgba(0,0,0,.22);border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-hero-demo__bar span{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.25);
}
.lp-hero-demo__bar span:first-child{background:#FF6B6B}
.lp-hero-demo__bar span:nth-child(2){background:#F5A623}
.lp-hero-demo__bar span:nth-child(3){background:#4CD964}
.lp-hero-demo__content{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px}
.lp-hero-demo__line{
  height:7px;border-radius:999px;
  background:rgba(138,162,255,.35);
  width:72%;
}
.lp-hero-demo__line--wide{width:88%}
.lp-hero-demo__line--short{width:58%}
.lp-hero-demo__kpi{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;
}
.lp-hero-demo__kpi-item{
  padding:10px 8px;border-radius:12px;text-align:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);
}
.lp-hero-demo__kpi-item strong{
  display:block;font-family:var(--lp-font-display);font-size:1.05rem;font-weight:700;
  color:#fff;line-height:1.1;letter-spacing:-.02em;
}
.lp-hero-demo__kpi-item span{
  display:block;margin-top:3px;font-size:.62rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:rgba(234,238,255,.55);
}
.lp-hero-demo__caption{
  margin:10px 0 0;font-size:.75rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;text-align:center;color:var(--lp-text-3);
}

/* Team cards profesionales */
.lp-team-card{display:flex;flex-direction:column;gap:14px;height:100%}
.lp-team-card__head{display:flex;align-items:center;gap:14px}
.lp-team-card__avatar{
  width:56px;height:56px;border-radius:16px;flex-shrink:0;
  display:grid;place-items:center;
  font-family:var(--lp-font-display);font-weight:700;font-size:1rem;color:#fff;
  background:linear-gradient(135deg,hsl(var(--lp-avatar-hue,220) 72% 52%),hsl(calc(var(--lp-avatar-hue,220) + 40) 68% 42%));
  box-shadow:0 10px 24px -10px hsla(var(--lp-avatar-hue,220),72%,52%,.55);
}
.lp-team-card__name{
  margin:0;font-family:var(--lp-font-display);font-size:1.05rem;font-weight:600;
  color:var(--lp-text);line-height:1.25;
}
.lp-section--dark .lp-team-card__name{color:#fff}
.lp-team-card__role{margin:2px 0 0;font-size:.82rem;color:var(--lp-text-2);font-weight:500}
.lp-section--dark .lp-team-card__role{color:rgba(234,238,255,.65)}
.lp-team-card__bio{margin:0;font-size:.9rem;line-height:1.55;color:var(--lp-text-2);flex:1}
.lp-section--dark .lp-team-card__bio{color:rgba(234,238,255,.72)}
.lp-team-card__city{
  margin:0;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--lp-primary);
}

/* Pricing hover sutil — legacy fuera de .lp-pricing-v2 */
.lp-price-card{
  transition:box-shadow .3s var(--lp-ease);
}
@media (hover:hover) and (pointer:fine){
  .lp-glass-card:not(:has(.lp-price-card)):hover{
    transform:translateY(-3px);
    box-shadow:var(--lp-glass-shadow-hover);
    border-color:rgba(77,114,255,.35);
  }
  .lp-glass-card:has(.lp-price-card):hover{
    box-shadow:var(--lp-glass-shadow-hover);
    border-color:rgba(77,114,255,.35);
  }
}

/* Turbo: aurora estática en móvil (menos GPU) */
@media (max-width:767px){
  body.limapol-public::before{
    animation:none;
    opacity:.55;
    background:
      radial-gradient(70vmax 70vmax at 10% -5%,rgba(77,114,255,.12),transparent 70%),
      radial-gradient(55vmax 55vmax at 95% 30%,rgba(123,91,255,.10),transparent 70%);
  }
  .lp-hero-demo{animation:none}
}
@media (prefers-reduced-motion:reduce){
  .lp-hero-demo{animation:none !important}
}

@media (max-width:480px){
  .lp-trust-badges{flex-direction:column;align-items:stretch}
  .lp-trust-badge{justify-content:center}
}

/* 35) Sprint 11 — avatares foto, conv landings */
.lp-avatar-photo{
  position:relative;width:64px;height:64px;border-radius:18px;overflow:hidden;flex-shrink:0;
  background:
    radial-gradient(120% 80% at 50% 0%,hsl(var(--lp-avatar-hue,220) 55% 72%),hsl(calc(var(--lp-avatar-hue,220) + 24) 48% 38%));
  box-shadow:0 10px 24px -10px hsla(var(--lp-avatar-hue,220),55%,45%,.45);
}
.lp-avatar-photo--sm{width:48px;height:48px;border-radius:14px}
.lp-avatar-photo--approved{width:72px;height:72px;border-radius:20px;margin:0 auto}
.lp-avatar-photo__silhouette{
  position:absolute;inset:0;
  background:radial-gradient(55% 45% at 50% 18%,rgba(255,255,255,.28),transparent 70%);
}
.lp-avatar-photo__silhouette::after{
  content:"";position:absolute;left:50%;bottom:-8%;transform:translateX(-50%);
  width:78%;height:55%;border-radius:50% 50% 0 0;
  background:rgba(255,255,255,.14);
}
.lp-avatar-photo__initials{
  position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--lp-font-display);font-weight:700;font-size:.95rem;color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}

/* Testimonios en fondo claro */
.lp-glass-card.lp-testimonial{padding:28px}
.lp-glass-card .lp-testimonial__quote{
  color:var(--lp-text-2);font-size:1rem;
}
.lp-glass-card .lp-testimonial__quote::before{color:rgba(77,114,255,.25)}
.lp-glass-card .lp-testimonial__name{color:var(--lp-text)}
.lp-glass-card .lp-testimonial__meta{color:var(--lp-text-3)}

/* Convocatoria landing facts */
.lp-conv-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;width:100%;
}
.lp-conv-fact{
  padding:18px 16px;border-radius:16px;
  background:rgba(255,255,255,.72);border:1px solid rgba(11,15,36,.08);
  display:flex;flex-direction:column;gap:6px;text-align:center;
}
.lp-section--dark .lp-conv-fact{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);
}
.lp-conv-fact__lbl{
  font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lp-text-3);
}
.lp-section--dark .lp-conv-fact__lbl{color:rgba(234,238,255,.55)}
.lp-conv-fact__val{
  font-family:var(--lp-font-display);font-weight:700;font-size:1.35rem;
  color:var(--lp-text);letter-spacing:-.02em;
}
.lp-section--dark .lp-conv-fact__val{color:#fff}

.lp-conv-detail{
  display:flex;flex-direction:column;gap:16px;max-width:720px;margin:0 auto;text-align:center;
}
.lp-conv-detail p{color:var(--lp-text-2);line-height:1.65;margin:0}
.lp-conv-detail__links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}

/* 36) Sprint 12 — retratos SVG + grid convocatorias ampliado */
.lp-portrait{
  display:block;object-fit:cover;border-radius:inherit;
  width:100%;height:100%;aspect-ratio:1;
}
.lp-portrait--team{
  width:56px;height:56px;border-radius:16px;
  box-shadow:0 10px 24px -10px rgba(77,114,255,.35);
}
img.lp-team-card__avatar{width:56px;height:56px;border-radius:16px;flex-shrink:0}
img.lp-avatar-photo--sm{width:48px;height:48px;border-radius:14px}
img.lp-avatar-photo--approved{width:72px;height:72px;border-radius:20px;margin:0 auto}

.lp-conv-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(16px,2.5vw,24px);width:100%;
}
.lp-conv-grid .lp-glass-card{height:100%}

/* 37) Sprint 13 — a11y, form security, skip link */
.lp-skip-link{
  position:absolute;left:-9999px;top:auto;z-index:10000;
  padding:12px 20px;border-radius:12px;
  background:var(--lp-primary);color:#fff;font-weight:600;text-decoration:none;
}
.lp-skip-link:focus{
  left:16px;top:16px;outline:2px solid #fff;outline-offset:2px;
}
.lp-skip-target{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.lp-skip-target:focus{outline:none}

.lp-honeypot{
  position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;
  opacity:0;pointer-events:none;
}

.lp-form-notice[role="alert"]{scroll-margin-top:120px}

@media (prefers-reduced-motion:reduce){
  .lp-skip-link{transition:none}
}

/* 38) Sprint 14 — pop-ups funnel + pulido pro */
.lp-popup{
  position:fixed;inset:0;z-index:10050;
  display:grid;place-items:center;padding:20px;
  pointer-events:none;opacity:0;visibility:hidden;
  contain:layout style paint;
  transition:opacity .2s ease,visibility .2s ease;
}
.lp-popup.is-visible{
  pointer-events:auto;opacity:1;visibility:visible;
}
.lp-popup__overlay{
  position:absolute;inset:0;
  background:rgba(11,15,36,.72);
}
.lp-popup__wrap{
  position:relative;width:min(100%,440px);
  transform:translateY(12px);
  transition:transform .2s ease;
  will-change:transform;
}
.lp-popup.is-visible .lp-popup__wrap{transform:translateY(0)}
.lp-popup__panel{
  position:relative;
  padding:clamp(28px,4vw,36px) clamp(24px,4vw,32px);
  padding-top:clamp(36px,5vw,44px);
  background:#fff;
  border:1px solid rgba(11,15,36,.08);
  border-radius:24px;
  box-shadow:0 24px 64px -16px rgba(11,15,36,.35);
  text-align:center;
}
.lp-popup__badge{
  display:inline-block;margin-bottom:12px;
  padding:6px 12px;border-radius:999px;
  background:var(--lp-gradient);color:#fff;
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.lp-popup__eyebrow{
  margin:0 0 8px;font-size:.78rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--lp-primary);
}
.lp-popup__title{
  margin:0 0 12px;font-family:var(--lp-font-display);
  font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2;letter-spacing:-.02em;
  color:var(--lp-text);
}
.lp-popup__text{
  margin:0 0 22px;font-size:.95rem;line-height:1.6;color:var(--lp-text-2);
}
.lp-popup__actions{
  display:flex;flex-direction:column;gap:10px;
}
.lp-popup__actions .lp-cta-primary,
.lp-popup__actions .lp-cta-ghost{justify-content:center;width:100%}
.lp-popup__fine{
  margin:16px 0 0;font-size:.72rem;color:var(--lp-text-3);
}
.lp-popup__close{
  position:absolute;top:14px;right:14px;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;max-width:32px;
  padding:0;margin:0;border-radius:50%;
  border:1px solid rgba(11,15,36,.1);
  background:var(--lp-bg);color:var(--lp-text-2);
  box-shadow:none;font:inherit;line-height:1;
  cursor:pointer;flex-shrink:0;box-sizing:border-box;
  -webkit-appearance:none;appearance:none;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.lp-popup__close svg{display:block;flex-shrink:0;pointer-events:none}
.lp-popup__close:hover{
  background:var(--lp-primary-100);color:var(--lp-primary);
  border-color:rgba(77,114,255,.25);transform:none;
}

body.limapol-public.lp-popup-open{overflow:hidden}

/* Franja social proof */
.lp-proof-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  width:100%;max-width:900px;margin:0 auto;
  padding:18px 20px;border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,15,36,.08);
  box-shadow:var(--lp-glass-shadow);
}
.lp-proof-strip__item{
  display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;
}
.lp-proof-strip__item strong{
  font-family:var(--lp-font-display);font-size:1.35rem;font-weight:700;
  letter-spacing:-.02em;color:var(--lp-text);
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lp-proof-strip__item span{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--lp-text-3);
}
.lp-section--dark .lp-proof-strip{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);
}
.lp-section--dark .lp-proof-strip__item strong{
  -webkit-text-fill-color:#fff;color:#fff;background:none;
}
.lp-section--dark .lp-proof-strip__item span{color:rgba(234,238,255,.55)}

/* Pulido global secciones */
body.limapol-public .lp-section .elementor-heading-title{
  letter-spacing:-.025em;
}
body.limapol-public .lp-page-hero__eyebrow + .elementor-widget-heading{
  margin-top:4px;
}

@media (max-width:767px){
  .lp-proof-strip{grid-template-columns:repeat(2,1fr);gap:14px}
  .lp-popup{padding:16px}
}

@media (prefers-reduced-motion:reduce){
  .lp-popup,.lp-popup__wrap{transition:none !important}
  .lp-popup__wrap{will-change:auto}
}

/* 39) Sprint 15 — armonía visual, ritmo claro/oscuro, responsive */
body.limapol-public .lp-section .elementor-widget-heading + .elementor-widget-text-editor,
body.limapol-public .lp-section .elementor-widget-heading + .elementor-widget-html{
  margin-top:var(--lp-space-block);
}
body.limapol-public .lp-section .e-con-inner{
  gap:var(--lp-space-gap) !important;
}
body.limapol-public .lp-section .elementor-widget-heading .elementor-heading-title{
  max-width:min(820px,92vw);margin-inline:auto;line-height:1.12;
}
body.limapol-public .lp-section:not(.lp-section--dark) .elementor-widget-text-editor p{
  max-width:58ch;margin-inline:auto;
}

/* Evitar dos bandas oscuras pegadas (red de seguridad) */
body.limapol-public .lp-section--dark + .lp-section--dark{
  padding-top:calc(var(--lp-space-section-y) * 0.55) !important;
  border-top:1px solid rgba(255,255,255,.06);
}
body.limapol-public .lp-section--dark + .lp-section--dark::after{opacity:.35}

/* Cierre con CTA oscuro — más contraste */
body.limapol-public .lp-section--dark .lp-cta-banner{
  padding:clamp(2.5rem,5vw,3.5rem) clamp(1rem,3vw,2rem);
  border-radius:24px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

/* Grids más equilibrados en tablet */
@media (max-width:1024px){
  .lp-grid-3 > .e-con-inner > .elementor-element,
  .lp-grid-3 > .elementor-element{flex-basis:calc(50% - 12px) !important}
  .lp-grid-2 > .e-con-inner > .elementor-element,
  .lp-grid-2 > .elementor-element{flex-basis:100% !important}
}

@media (max-width:767px){
  .lp-cta-banner__actions{flex-direction:column;width:100%}
  .lp-cta-banner__actions .lp-cta-primary,
  .lp-cta-banner__actions .lp-cta-ghost{width:100%;justify-content:center}
  .lp-stat{padding:18px 20px}
  .lp-glass-card.lp-testimonial{padding:22px}
}

/* Menos jank en hero — animaciones más ligeras */
@media (max-width:767px){
  body.limapol-public::before{animation:none;opacity:.75}
  .lp-floating{animation-duration:12s}
}
@media (prefers-reduced-motion:reduce){
  body.limapol-public::before{animation:none !important}
  .lp-floating{animation:none !important}
  .lp-reveal{opacity:1 !important;transform:none !important;will-change:auto !important}
}

/* 40) Sprint 16 — testimonios optimizados + hero demo ligero */
.lp-testimonials-sec{
  background:linear-gradient(180deg,var(--lp-bg) 0%,#EEF2FF 100%);
}
.lp-testimonials-v2__eyebrow{text-align:center}
.lp-testimonials-v2__title .elementor-heading-title{color:var(--lp-text) !important}
.lp-testimonials-sec .elementor-widget-text-editor p{
  color:var(--lp-text-2);font-size:1rem;line-height:1.6;margin:0;
}
.lp-testimonials-v2{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,20px);
  width:100%;max-width:1120px;margin:0 auto;
  contain:layout style;
}
.lp-tcard{
  display:flex;flex-direction:column;gap:14px;
  padding:clamp(18px,2.5vw,24px);
  background:#fff;
  border:1px solid rgba(11,15,36,.08);
  border-radius:20px;
  box-shadow:0 4px 16px -8px rgba(11,15,36,.10);
  height:100%;
  transition:border-color .2s var(--lp-ease),box-shadow .2s var(--lp-ease);
}
.lp-tcard:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 32px -16px rgba(77,114,255,.18);
}
.lp-tcard__head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.lp-tcard__stars{
  color:#E8A317;font-size:.82rem;letter-spacing:2px;line-height:1;
}
.lp-tcard__quote{color:rgba(77,114,255,.28);flex-shrink:0}
.lp-tcard__text{
  margin:0;flex:1;
  font-size:.94rem;line-height:1.62;color:var(--lp-text-2);
}
.lp-tcard__foot{
  display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:4px;
  border-top:1px solid rgba(11,15,36,.06);
}
.lp-tcard__avatar{
  width:42px;height:42px;border-radius:12px;flex-shrink:0;
  display:grid;place-items:center;
  font-family:var(--lp-font-display);font-weight:700;font-size:.78rem;color:#fff;
  background:linear-gradient(135deg,hsl(var(--lp-avatar-hue,220) 68% 52%),hsl(calc(var(--lp-avatar-hue,220) + 28) 58% 42%));
}
.lp-tcard__name{
  display:block;font-family:var(--lp-font-display);font-size:.92rem;
  font-weight:600;color:var(--lp-text);line-height:1.25;
}
.lp-tcard__meta{
  display:block;font-size:.78rem;color:var(--lp-text-3);line-height:1.3;margin-top:2px;
}

@media (max-width:1024px){
  .lp-testimonials-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .lp-testimonials-v2{grid-template-columns:1fr}
}

/* 42) Sprint 20 — página FAQ completa */
.lp-faq-sec--page{
  background:linear-gradient(180deg,var(--lp-bg) 0%,#EEF2FF 55%,var(--lp-bg) 100%);
}
.lp-faq-page-v2{
  width:100%;display:flex;flex-direction:column;gap:clamp(24px,4vw,36px);
  contain:layout style;
}
.lp-faq-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.lp-faq-stats__item{
  padding:16px 14px;border-radius:16px;text-align:center;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
}
.lp-faq-stats__item strong{
  display:block;font-family:var(--lp-font-display);font-size:1.25rem;
  font-weight:700;letter-spacing:-.02em;color:var(--lp-text);
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lp-faq-stats__item span{
  display:block;margin-top:4px;font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--lp-text-3);
}
.lp-faq-page-v2__layout{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,3vw,32px);
  align-items:start;
}
.lp-faq-nav{
  position:sticky;top:calc(var(--lp-nav-offset) + 16px);
  display:flex;flex-direction:column;gap:8px;
  padding:14px;border-radius:18px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 8px 24px -16px rgba(11,15,36,.12);
}
.lp-faq-nav__link{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:12px;
  font-size:.84rem;font-weight:600;color:var(--lp-text-2);
  text-decoration:none;transition:background .2s,color .2s;
}
.lp-faq-nav__link:hover{
  background:rgba(77,114,255,.08);color:var(--lp-primary);
}
.lp-faq-nav__icon{
  display:grid;place-items:center;width:28px;height:28px;border-radius:8px;
  background:rgba(77,114,255,.10);color:var(--lp-primary);flex-shrink:0;
}
.lp-faq-nav__icon svg{width:16px;height:16px;fill:currentColor}
.lp-faq-page-v2__main{display:flex;flex-direction:column;gap:clamp(24px,3vw,32px)}
.lp-faq-page-v2__groups{display:flex;flex-direction:column;gap:clamp(18px,2.5vw,24px)}
.lp-faq__group--card{
  padding:clamp(20px,3vw,28px);border-radius:22px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 8px 28px -16px rgba(11,15,36,.12);
  scroll-margin-top:calc(var(--lp-nav-offset) + 20px);
}
.lp-faq__group-head{
  display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;
  padding-bottom:16px;border-bottom:1px solid rgba(11,15,36,.06);
}
.lp-faq__group-icon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:rgba(77,114,255,.10);color:var(--lp-primary);flex-shrink:0;
}
.lp-faq__group-icon svg{width:22px;height:22px;fill:currentColor}
.lp-faq__group--card .lp-faq__group-title{
  margin:0;font-family:var(--lp-font-display);font-size:1.15rem;font-weight:700;
  letter-spacing:-.02em;text-transform:none;color:var(--lp-text);
  padding:0;border:none;
}
.lp-faq__group-desc{
  margin:4px 0 0;font-size:.88rem;line-height:1.5;color:var(--lp-text-3);
}
.lp-faq-help{
  padding:clamp(24px,3vw,32px);border-radius:22px;text-align:center;
  background:linear-gradient(135deg,rgba(77,114,255,.06) 0%,rgba(123,91,255,.04) 100%);
  border:1px solid rgba(77,114,255,.12);
}
.lp-faq-help__title{
  margin:0 0 8px;font-family:var(--lp-font-display);font-size:clamp(1.25rem,2.5vw,1.5rem);
  font-weight:700;color:var(--lp-text);letter-spacing:-.02em;
}
.lp-faq-help__sub{
  margin:0 0 22px;font-size:.95rem;color:var(--lp-text-2);line-height:1.55;
}
.lp-faq-help__grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
  text-align:left;
}
.lp-faq-help__card{
  display:flex;flex-direction:column;gap:10px;height:100%;
  padding:20px;border-radius:18px;background:#fff;
  border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
  transition:border-color .2s,box-shadow .2s;
}
.lp-faq-help__card:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 28px -14px rgba(77,114,255,.18);
}
.lp-faq-help__icon{
  display:grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:rgba(77,114,255,.10);color:var(--lp-primary);
}
.lp-faq-help__icon svg{width:20px;height:20px;fill:currentColor}
.lp-faq-help__card h3{
  margin:0;font-family:var(--lp-font-display);font-size:1rem;font-weight:600;color:var(--lp-text);
}
.lp-faq-help__card p{
  margin:0;flex:1;font-size:.88rem;line-height:1.55;color:var(--lp-text-2);
}
.lp-faq-help__link{align-self:flex-start;margin-top:4px;font-size:.84rem !important}

@media (max-width:1024px){
  .lp-faq-page-v2__layout{grid-template-columns:1fr}
  .lp-faq-nav{
    position:static;flex-direction:row;flex-wrap:wrap;
    padding:10px;
  }
  .lp-faq-nav__link{flex:1 1 calc(50% - 8px);font-size:.8rem}
  .lp-faq-help__grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lp-faq-stats{grid-template-columns:repeat(2,1fr)}
  .lp-faq-nav__link{flex:1 1 100%}
}

/* ═══════════════════════════════════════════════════════════
   §43 FOOTER — tokens dark + tipografía DS
   ═══════════════════════════════════════════════════════════ */
.lp-ft{
  position:relative;
  font-family:var(--lp-font-body);
  color:var(--lp-dark-text);
  padding:clamp(2.75rem,5vw,4rem) clamp(1.25rem,4vw,2rem) 0;
}
.lp-ft::before{
  content:"";
  position:absolute;left:50%;top:0;
  transform:translateX(-50%);
  width:min(680px,65%);height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
}

/* Main grid */
.lp-ft__main{
  display:grid;
  grid-template-columns:minmax(240px,280px) 1fr;
  align-items:start;
  gap:clamp(2.5rem,5vw,4rem);
  max-width:1120px;margin:0 auto;
  padding-bottom:clamp(2rem,3.5vw,2.5rem);
}

/* Brand — wordmark alineado con header */
.lp-ft__brand{display:flex;flex-direction:column;align-items:flex-start}
.lp-ft__logo{
  display:inline-flex;align-items:center;gap:12px;
  margin-bottom:16px;text-decoration:none;
  transition:opacity .2s var(--lp-ease);
}
.lp-ft__logo:hover{opacity:.88}
.lp-ft__logo img{
  display:block;height:44px;width:44px;
  object-fit:contain;flex-shrink:0;
}
.lp-ft__wordmark{
  font-family:var(--lp-font-display);
  font-size:1.58rem;font-weight:700;letter-spacing:-.025em;
  color:#fff;line-height:1;white-space:nowrap;
}
.lp-ft__pol{
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.lp-ft__tagline{
  margin:0 0 20px;
  max-width:26ch;
  font-family:var(--lp-font-body);
  font-size:.875rem;line-height:1.65;
  color:var(--lp-dark-text-2);
}
.lp-ft__social{display:flex;gap:8px;margin-top:auto}

/* Social */
body.limapol-public .lp-ft .lp-ft__social-link,
body.limapol-public .lp-footer .lp-ft__social-link{
  display:grid;place-items:center;
  width:32px;height:32px;
  border-radius:var(--lp-r-xs);
  background:rgba(255,255,255,.05);
  border:1px solid var(--lp-dark-line);
  color:var(--lp-dark-text-2) !important;
  text-decoration:none;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
body.limapol-public .lp-ft .lp-ft__social-link:hover,
body.limapol-public .lp-footer .lp-ft__social-link:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.14);
  color:var(--lp-dark-text) !important;
  transform:translateY(-1px);
}

/* Nav columns */
.lp-ft__cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.5rem,3vw,2.5rem);
  padding-top:4px;
}
.lp-ft__col{display:flex;flex-direction:column}
.lp-ft__col-title{
  display:block;
  margin:0 0 14px;padding-bottom:10px;
  font-family:var(--lp-font-display);
  font-size:.75rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  line-height:1.3;
  color:rgba(255,255,255,.75);
  border-bottom:1px solid var(--lp-dark-line);
}
.lp-ft__links{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:0;
}
.lp-ft__links li{margin:0}
body.limapol-public .lp-ft .lp-ft__links a,
body.limapol-public .lp-footer .lp-ft__links a{
  display:inline-block;padding:5px 0;
  font-family:var(--lp-font-body);
  font-size:.875rem;line-height:1.45;
  color:var(--lp-dark-text-2) !important;
  text-decoration:none;
  transition:color .18s var(--lp-ease),padding-left .18s var(--lp-ease);
}
body.limapol-public .lp-ft .lp-ft__links a:hover,
body.limapol-public .lp-footer .lp-ft__links a:hover{
  color:var(--lp-dark-text) !important;
  padding-left:3px;
}

/* Bottom bar */
.lp-ft__bar,
.lp-footer-bottom{border-top:1px solid var(--lp-dark-line)}
.lp-ft__bar{padding:1rem clamp(1.25rem,4vw,2rem) 1.25rem}
.lp-ft__bar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
  max-width:1120px;margin:0 auto;
}
.lp-ft__copy{
  margin:0;
  font-family:var(--lp-font-body);
  font-size:.8125rem;line-height:1.5;
  color:var(--lp-dark-text-3);
}
.lp-ft__legal{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:0 6px;
}
body.limapol-public .lp-ft .lp-ft__legal a,
body.limapol-public .lp-footer .lp-ft__legal a{
  font-family:var(--lp-font-body);
  font-size:.8125rem;line-height:1.5;
  color:var(--lp-dark-text-3) !important;
  text-decoration:none;
  transition:color .18s var(--lp-ease);
}
body.limapol-public .lp-ft .lp-ft__legal a:hover,
body.limapol-public .lp-footer .lp-ft__legal a:hover{
  color:var(--lp-dark-text-2) !important;
}
body.limapol-public .lp-ft .lp-ft__legal a + a::before,
body.limapol-public .lp-footer .lp-ft__legal a + a::before{
  content:"·";
  margin-right:6px;
  color:rgba(255,255,255,.18);
  pointer-events:none;
}
body.limapol-public .lp-ft .lp-ft__logo,
body.limapol-public .lp-footer .lp-ft__logo{color:#fff !important}

@media (max-width:960px){
  .lp-ft__main{grid-template-columns:1fr;gap:2.25rem}
  .lp-ft__wordmark{font-size:1.48rem}
  .lp-ft__tagline{max-width:36ch}
  .lp-ft__cols{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  .lp-ft__cols{grid-template-columns:1fr 1fr;gap:1.75rem 1.25rem}
  .lp-ft__col:last-child{grid-column:1/-1}
  .lp-ft__col:last-child .lp-ft__links{
    display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;
  }
}
@media (max-width:480px){
  .lp-ft__wordmark{font-size:1.32rem}
  .lp-ft__cols{grid-template-columns:1fr}
  .lp-ft__col:last-child .lp-ft__links{display:flex;flex-direction:column}
  .lp-ft__bar-inner{flex-direction:column;align-items:flex-start;gap:10px}
  .lp-ft__legal{gap:4px 0}
}

/* ═══════════════════════════════════════════════════════════
   §44 CONTACTO v2 — página profesional
   ═══════════════════════════════════════════════════════════ */
.lp-contact-sec--page{
  background:linear-gradient(180deg,var(--lp-bg) 0%,#EEF2FF 55%,var(--lp-bg) 100%);
}
.lp-contact-v2{
  width:100%;display:flex;flex-direction:column;gap:clamp(24px,4vw,36px);
  contain:layout style;
}

/* Stats */
.lp-contact-v2__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.lp-contact-v2__stat{
  padding:16px 14px;border-radius:16px;text-align:center;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
}
.lp-contact-v2__stat strong{
  display:block;font-family:var(--lp-font-display);font-size:1.25rem;
  font-weight:700;letter-spacing:-.02em;
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lp-contact-v2__stat span{
  display:block;margin-top:4px;font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--lp-text-3);
}

/* Layout */
.lp-contact-v2__layout{
  display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);
  gap:clamp(20px,3vw,32px);align-items:start;
}

/* Aside — canales */
.lp-contact-v2__channels{
  display:flex;flex-direction:column;gap:12px;margin-bottom:18px;
}
.lp-contact-v2__channel{
  display:flex;align-items:flex-start;gap:14px;
  padding:18px;border-radius:18px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
  transition:border-color .2s var(--lp-ease),box-shadow .2s var(--lp-ease);
}
.lp-contact-v2__channel:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 28px -14px rgba(77,114,255,.16);
}
.lp-contact-v2__channel-icon{
  display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;
  border-radius:12px;background:rgba(77,114,255,.10);color:var(--lp-primary);
}
.lp-contact-v2__channel-icon svg{width:20px;height:20px}
.lp-contact-v2__channel-title{
  margin:0 0 4px;font-family:var(--lp-font-display);
  font-size:.95rem;font-weight:600;color:var(--lp-text);line-height:1.3;
}
.lp-contact-v2__channel-value{
  font-size:.9rem;line-height:1.55;color:var(--lp-text-2);
}
.lp-contact-v2__channel-value a{
  color:var(--lp-text);font-weight:600;text-decoration:none;
  transition:color .18s;
}
.lp-contact-v2__channel-value a:hover{color:var(--lp-primary)}
.lp-contact-v2__channel-meta{
  margin:6px 0 0;font-size:.78rem;line-height:1.4;color:var(--lp-text-3);
}

/* Quick links */
.lp-contact-v2__quick{
  display:flex;flex-direction:column;gap:8px;
  padding:14px;border-radius:18px;
  background:linear-gradient(135deg,rgba(77,114,255,.06) 0%,rgba(123,91,255,.04) 100%);
  border:1px solid rgba(77,114,255,.12);
}
.lp-contact-v2__quick-label{
  margin:0 0 4px;font-size:.68rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--lp-text-3);
}
.lp-contact-v2__quick-link{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:14px;
  background:#fff;border:1px solid rgba(11,15,36,.06);
  text-decoration:none;color:inherit;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.lp-contact-v2__quick-link:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 8px 20px -12px rgba(77,114,255,.18);
  transform:translateY(-1px);
}
.lp-contact-v2__quick-icon{
  display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;
  border-radius:10px;background:rgba(77,114,255,.10);color:var(--lp-primary);
}
.lp-contact-v2__quick-link strong{
  display:block;font-family:var(--lp-font-display);
  font-size:.9rem;font-weight:600;color:var(--lp-text);line-height:1.25;
}
.lp-contact-v2__quick-link small{
  display:block;margin-top:2px;font-size:.78rem;color:var(--lp-text-3);line-height:1.3;
}

/* Form card */
.lp-contact-v2__form-card{
  padding:clamp(22px,3vw,32px);border-radius:22px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 8px 28px -16px rgba(11,15,36,.12);
  scroll-margin-top:calc(var(--lp-nav-offset) + 20px);
}
.lp-contact-v2__form-head{margin-bottom:20px;text-align:left}
.lp-contact-v2__form-title{
  margin:0 0 8px;font-family:var(--lp-font-display);
  font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;
  letter-spacing:-.025em;color:var(--lp-text);line-height:1.15;
}
.lp-contact-v2__form-sub{
  margin:0;font-size:.92rem;line-height:1.55;color:var(--lp-text-2);
}
.lp-contact-v2__form-card .lp-form-notice{margin-bottom:18px}
.lp-contact-v2__form-card .lp-callback-form__note{text-align:left}
.lp-contact-v2__form-card .lp-cta-primary{align-self:flex-start}

@media (max-width:1024px){
  .lp-contact-v2__layout{grid-template-columns:1fr}
  .lp-contact-v2__aside{order:2}
  .lp-contact-v2__main{order:1}
}
@media (max-width:640px){
  .lp-contact-v2__stats{grid-template-columns:repeat(2,1fr)}
  .lp-contact-v2__form-card .lp-cta-primary{width:100%;justify-content:center}
}

/* ═══════════════════════════════════════════════════════════
   §45 EQUIPO v2 — claro / oscuro alternado
   ═══════════════════════════════════════════════════════════ */
.lp-team-sec--intro,
.lp-team-sec--values{
  background:linear-gradient(180deg,var(--lp-bg) 0%,#EEF2FF 55%,var(--lp-bg) 100%);
}
.lp-team-v2{
  width:100%;display:flex;flex-direction:column;gap:clamp(24px,4vw,36px);
  contain:layout style;
}

/* Stats */
.lp-team-v2__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.lp-team-v2__stat{
  padding:16px 14px;border-radius:16px;text-align:center;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
}
.lp-team-v2__stat strong{
  display:block;font-family:var(--lp-font-display);font-size:1.25rem;
  font-weight:700;letter-spacing:-.02em;
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lp-team-v2__stat span{
  display:block;margin-top:4px;font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--lp-text-3);
}

/* Section headers */
.lp-team-v2__section-head{margin-bottom:clamp(8px,2vw,16px);text-align:left}
.lp-team-v2__section-head--center{text-align:center;max-width:640px;margin-inline:auto}
.lp-team-v2__eyebrow{
  display:inline-block;margin:0 0 10px;
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lp-primary);
}
.lp-section--dark .lp-team-v2__eyebrow{color:var(--lp-primary-300)}
.lp-team-v2__section-title{
  margin:0 0 10px;font-family:var(--lp-font-display);
  font-size:clamp(1.5rem,3vw,2rem);font-weight:700;
  letter-spacing:-.025em;line-height:1.12;color:var(--lp-text);
}
.lp-section--dark .lp-team-v2__section-title{color:#fff}
.lp-team-v2__section-sub{
  margin:0;max-width:56ch;font-size:.95rem;line-height:1.6;color:var(--lp-text-2);
}
.lp-section--dark .lp-team-v2__section-sub{color:var(--lp-dark-text-2)}

/* Intro (light) */
.lp-team-v2__intro-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);
  gap:clamp(24px,4vw,40px);align-items:start;
}
.lp-team-v2__intro-title{
  margin:0 0 14px;font-family:var(--lp-font-display);
  font-size:clamp(1.35rem,2.8vw,1.75rem);font-weight:700;
  letter-spacing:-.025em;line-height:1.15;color:var(--lp-text);
}
.lp-team-v2__intro-text{
  margin:0 0 12px;font-size:.95rem;line-height:1.65;color:var(--lp-text-2);
}
.lp-team-v2__intro-text:last-child{margin-bottom:0}

/* Team cards */
.lp-team-v2__card{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:clamp(20px,2.5vw,24px);border-radius:20px;height:100%;
  transition:border-color .2s var(--lp-ease),box-shadow .2s var(--lp-ease),transform .2s var(--lp-ease);
}
.lp-team-v2--intro .lp-team-v2__lead .lp-team-v2__card,
.lp-team-sec--intro .lp-team-v2__card{
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 8px 28px -16px rgba(11,15,36,.12);
}
.lp-team-sec--intro .lp-team-v2__card:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 16px 40px -18px rgba(77,114,255,.18);
  transform:translateY(-2px);
}
.lp-team-sec--grid .lp-team-v2__card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.lp-team-sec--grid .lp-team-v2__card:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  transform:translateY(-2px);
}
.lp-team-v2__avatar-wrap{width:100%;margin-bottom:4px}
.lp-team-v2__avatar,
img.lp-team-v2__avatar{
  width:72px;height:72px;border-radius:18px;object-fit:cover;
  display:block;flex-shrink:0;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.25);
}
.lp-team-v2__name{
  margin:0;font-family:var(--lp-font-display);
  font-size:1.08rem;font-weight:600;line-height:1.25;
  color:var(--lp-text);
}
.lp-team-sec--grid .lp-team-v2__name{color:#fff}
.lp-team-v2__role{
  margin:0;font-size:.82rem;font-weight:500;line-height:1.35;
  color:var(--lp-text-2);
}
.lp-team-sec--grid .lp-team-v2__role{color:var(--lp-dark-text-2)}
.lp-team-v2__bio{
  margin:0;flex:1;font-family:var(--lp-font-body);
  font-size:.9rem;line-height:1.58;color:var(--lp-text-2);
}
.lp-team-sec--grid .lp-team-v2__bio{color:var(--lp-dark-text-2)}
.lp-team-v2__city{
  display:inline-block;margin-top:auto;
  font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--lp-primary-600);
}
.lp-team-sec--grid .lp-team-v2__city{color:var(--lp-primary-300)}

/* Grid (dark) */
.lp-team-v2__grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,20px);
}

/* Values (light) */
.lp-team-v2__values{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.lp-team-v2__value{
  display:flex;flex-direction:column;gap:10px;height:100%;
  padding:22px;border-radius:20px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.lp-team-v2__value:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 28px -14px rgba(77,114,255,.18);
  transform:translateY(-2px);
}
.lp-team-v2__value-icon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:rgba(77,114,255,.10);color:var(--lp-primary);
}
.lp-team-v2__value-icon svg{width:22px;height:22px;fill:currentColor}
.lp-team-v2__value-title{
  margin:0;font-family:var(--lp-font-display);
  font-size:1.05rem;font-weight:600;color:var(--lp-text);line-height:1.3;
}
.lp-team-v2__value-text{
  margin:0;flex:1;font-size:.88rem;line-height:1.58;color:var(--lp-text-2);
}

@media (max-width:1024px){
  .lp-team-v2__intro-grid{grid-template-columns:1fr}
  .lp-team-v2__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-team-v2__values{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lp-team-v2__stats{grid-template-columns:repeat(2,1fr)}
  .lp-team-v2__grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════
   §46 WHATSAPP / TE LLAMAMOS v2
   ═══════════════════════════════════════════════════════════ */
.lp-wa-sec--intro,
.lp-wa-sec--topics{
  background:linear-gradient(180deg,var(--lp-bg) 0%,#EEF2FF 55%,var(--lp-bg) 100%);
}
.lp-wa-v2{
  width:100%;display:flex;flex-direction:column;gap:clamp(24px,4vw,36px);
  contain:layout style;
}

/* Stats */
.lp-wa-v2__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;
}
.lp-wa-v2__stat{
  padding:16px 14px;border-radius:16px;text-align:center;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
}
.lp-wa-v2__stat strong{
  display:block;font-family:var(--lp-font-display);font-size:1.25rem;
  font-weight:700;letter-spacing:-.02em;
  background:var(--lp-gradient);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lp-wa-v2__stat span{
  display:block;margin-top:4px;font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--lp-text-3);
}

/* Section headers */
.lp-wa-v2__section-head{margin-bottom:0;text-align:left}
.lp-wa-v2__section-head--center{text-align:center;max-width:640px;margin-inline:auto}
.lp-wa-v2__eyebrow{
  display:inline-block;margin:0 0 10px;
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lp-primary);
}
.lp-section--dark .lp-wa-v2__eyebrow{color:var(--lp-primary-300)}
.lp-wa-v2__section-title{
  margin:0 0 10px;font-family:var(--lp-font-display);
  font-size:clamp(1.5rem,3vw,2rem);font-weight:700;
  letter-spacing:-.025em;line-height:1.12;color:var(--lp-text);
}
.lp-section--dark .lp-wa-v2__section-title{color:#fff}
.lp-wa-v2__section-sub{
  margin:0;font-size:.95rem;line-height:1.6;color:var(--lp-text-2);
}
.lp-section--dark .lp-wa-v2__section-sub{color:var(--lp-dark-text-2)}

/* Steps (light) */
.lp-wa-v2__steps{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.lp-wa-v2__step{
  padding:22px;border-radius:20px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
}
.lp-wa-v2__step-num{
  display:grid;place-items:center;width:32px;height:32px;margin-bottom:12px;
  border-radius:10px;font-family:var(--lp-font-display);font-size:.85rem;font-weight:700;
  color:var(--lp-primary);background:rgba(77,114,255,.10);
}
.lp-wa-v2__step-title{
  margin:0 0 8px;font-family:var(--lp-font-display);
  font-size:1rem;font-weight:600;color:var(--lp-text);line-height:1.3;
}
.lp-wa-v2__step-text{
  margin:0;font-size:.88rem;line-height:1.58;color:var(--lp-text-2);
}

/* Form layout (dark) */
.lp-wa-v2__form-layout{
  display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);
  gap:clamp(20px,3vw,32px);align-items:start;
}
.lp-wa-v2__aside{display:flex;flex-direction:column;gap:12px}
.lp-wa-v2__aside-item{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 18px;border-radius:16px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
.lp-wa-v2__aside-icon{
  display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;
  border-radius:12px;background:rgba(77,114,255,.12);color:var(--lp-primary-300);
}
.lp-wa-v2__aside-icon svg{width:20px;height:20px}
.lp-wa-v2__aside-title{
  margin:0 0 4px;font-family:var(--lp-font-display);
  font-size:.92rem;font-weight:600;color:#fff;line-height:1.3;
}
.lp-wa-v2__aside-text{
  margin:0;font-size:.84rem;line-height:1.55;color:var(--lp-dark-text-2);
}

/* Form card */
.lp-wa-v2__form-card{
  padding:clamp(22px,3vw,32px);border-radius:22px;
  background:#fff;border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 40px -20px rgba(0,0,0,.35);
  scroll-margin-top:calc(var(--lp-nav-offset) + 20px);
}
.lp-wa-v2__form-head{margin-bottom:18px;text-align:left}
.lp-wa-v2__form-title{
  margin:0 0 8px;font-family:var(--lp-font-display);
  font-size:clamp(1.3rem,2.5vw,1.55rem);font-weight:700;
  letter-spacing:-.025em;color:var(--lp-text);line-height:1.15;
}
.lp-wa-v2__form-sub{
  margin:0;font-size:.9rem;line-height:1.55;color:var(--lp-text-2);
}
.lp-wa-v2__form-card .lp-form-notice{margin-bottom:16px}
.lp-wa-v2__form-card .lp-callback-form__note{text-align:left}
.lp-wa-v2__form-card .lp-cta-primary{align-self:flex-start}

/* Tarjeta blanca dentro de sección oscura — restaurar tipografía legible */
.lp-section--dark .lp-wa-v2__form-card h2,
.lp-section--dark .lp-wa-v2__form-card .lp-wa-v2__form-title{
  color:var(--lp-text) !important;
}
.lp-section--dark .lp-wa-v2__form-card p,
.lp-section--dark .lp-wa-v2__form-card .lp-callback-form__check,
.lp-section--dark .lp-wa-v2__form-card .lp-callback-form__field span{
  color:var(--lp-text-2) !important;
}
.lp-section--dark .lp-wa-v2__form-card .lp-callback-form__note{
  color:var(--lp-text-3) !important;
}
.lp-section--dark .lp-wa-v2__form-card a{
  color:var(--lp-primary) !important;
}
.lp-wa-v2__form-card .lp-callback-form__field input,
.lp-wa-v2__form-card .lp-callback-form__field select{
  min-height:48px;
  line-height:1.45;
  padding:12px 14px;
  background:#fff;
  color:var(--lp-text);
}
.lp-wa-v2__form-card .lp-callback-form__field select{
  padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234A5273' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
  appearance:none;
  -webkit-appearance:none;
}

/* CTA final + enlaces internos */
.lp-wa-sec--cta{
  padding-bottom:clamp(3.5rem,7vw,5.5rem) !important;
}
body.limapol-public:has(.lp-wa-v2) .lp-internal-links-wrap{
  margin-top:0;
  border-top:1px solid rgba(11,15,36,.06);
}

/* Topics (light) */
.lp-wa-v2__topics{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.lp-wa-v2__topic{
  display:flex;flex-direction:column;gap:10px;height:100%;
  padding:22px;border-radius:20px;
  background:#fff;border:1px solid rgba(11,15,36,.08);
  box-shadow:0 4px 16px -10px rgba(11,15,36,.10);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.lp-wa-v2__topic:hover{
  border-color:rgba(77,114,255,.22);
  box-shadow:0 12px 28px -14px rgba(77,114,255,.18);
  transform:translateY(-2px);
}
.lp-wa-v2__topic-icon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:rgba(77,114,255,.10);color:var(--lp-primary);
}
.lp-wa-v2__topic-icon svg{width:22px;height:22px;fill:currentColor}
.lp-wa-v2__topic-title{
  margin:0;font-family:var(--lp-font-display);
  font-size:1.02rem;font-weight:600;color:var(--lp-text);line-height:1.3;
}
.lp-wa-v2__topic-text{
  margin:0;flex:1;font-size:.88rem;line-height:1.58;color:var(--lp-text-2);
}

@media (max-width:1024px){
  .lp-wa-v2__form-layout{grid-template-columns:1fr}
  .lp-wa-v2__steps{grid-template-columns:1fr}
  .lp-wa-v2__topics{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lp-wa-v2__stats{grid-template-columns:repeat(2,1fr)}
  .lp-wa-v2__form-card .lp-cta-primary{width:100%;justify-content:center}
}

/* ═══════════════════════════════════════════════════════════
   §43 FOOTER v2 — profesional, dark glass, sin blur pesado
   ═══════════════════════════════════════════════════════════ */
.lp-footer-v2{
  position:relative;
  color:var(--lp-dark-text);
  padding:clamp(2.5rem,5vw,4rem) clamp(1rem,3vw,2rem) 0;
}
.lp-footer-v2::before{
  content:"";
  position:absolute;inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent 5%,var(--lp-primary) 50%,transparent 95%);
  opacity:.55;
}
.lp-footer-v2::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 15% 0%,rgba(77,114,255,.14),transparent 55%),
    radial-gradient(ellipse 50% 35% at 85% 20%,rgba(123,91,255,.1),transparent 50%);
}

/* CTA strip */
.lp-footer-v2__cta{
  position:relative;z-index:1;
  max-width:1200px;margin:0 auto clamp(2.5rem,5vw,3.5rem);
}
.lp-footer-v2__cta-inner{
  display:flex;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,2.5rem);
  padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem);
  border-radius:var(--lp-r-xl);
  background:linear-gradient(135deg,rgba(77,114,255,.12) 0%,rgba(123,91,255,.08) 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 20px 50px -24px rgba(0,0,0,.45);
}
.lp-footer-v2__eyebrow{
  display:inline-block;margin-bottom:8px;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lp-primary-300);
}
.lp-footer-v2__cta-title{
  margin:0 0 8px;
  font-family:var(--lp-font-display);
  font-size:clamp(1.25rem,2.5vw,1.65rem);
  font-weight:700;line-height:1.15;color:#fff;
}
.lp-footer-v2__cta-sub{
  margin:0;font-size:.88rem;line-height:1.5;color:var(--lp-dark-text-2);
}
.lp-footer-v2__cta-actions{
  display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0;
}
.lp-footer-v2__cta-actions .lp-cta-primary,
.lp-footer-v2__cta-actions .lp-cta-ghost{
  white-space:nowrap;font-size:.88rem !important;
}

/* Main grid */
.lp-footer-v2__main{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) minmax(0,1.85fr);
  gap:clamp(2rem,4vw,3.5rem);
  max-width:1200px;margin:0 auto;
  padding-bottom:clamp(2rem,4vw,2.75rem);
}
.lp-footer-v2__brand{max-width:360px}
.lp-footer-v2__logo{
  display:inline-block;margin-bottom:18px;
  transition:opacity .2s var(--lp-ease);
}
.lp-footer-v2__logo:hover{opacity:.85}
.lp-footer-v2__logo img{display:block;height:auto;max-width:148px}
.lp-footer-v2__tagline{
  margin:0 0 20px;
  font-size:.9rem;line-height:1.65;color:var(--lp-dark-text-2);
}
.lp-footer-v2__trust{
  display:flex;flex-direction:column;gap:10px;margin-bottom:22px;
}
.lp-footer-v2__trust-item{
  display:flex;align-items:center;gap:10px;
  font-size:.82rem;color:var(--lp-dark-text-2);
}
.lp-footer-v2__trust-item strong{
  color:#fff;font-weight:600;margin-right:4px;
}
.lp-footer-v2__trust-icon{
  display:grid;place-items:center;
  width:32px;height:32px;flex-shrink:0;
  border-radius:10px;
  background:rgba(77,114,255,.15);
  color:var(--lp-primary-300);
}
.lp-footer-v2__social{display:flex;gap:10px}
.lp-footer-v2__social-link{
  display:grid;place-items:center;
  width:40px;height:40px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(234,238,255,.85);
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.lp-footer-v2__social-link:hover{
  background:rgba(77,114,255,.22);
  border-color:rgba(77,114,255,.4);
  color:#fff;transform:translateY(-2px);
}

/* Link columns */
.lp-footer-v2__cols{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,2.5vw,1.75rem);
}
.lp-footer-v2__col-title{
  margin:0 0 14px;
  font-family:var(--lp-font-display);
  font-size:.75rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.5);
}
.lp-footer-v2__links{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:2px;
}
.lp-footer-v2__links a{
  display:inline-block;padding:5px 0;
  font-size:.88rem;color:var(--lp-dark-text-2);
  text-decoration:none;
  transition:color .2s,padding-left .2s;
}
.lp-footer-v2__links a:hover{
  color:#fff;padding-left:4px;
}

/* Contact row */
.lp-footer-v2__contact{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(.75rem,2vw,1rem);
  max-width:1200px;margin:0 auto;
  padding:clamp(1.25rem,3vw,1.5rem) 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.lp-footer-v2__contact-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px 14px;
  border-radius:var(--lp-r-md);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.lp-footer-v2__contact-icon{
  display:grid;place-items:center;
  width:36px;height:36px;flex-shrink:0;
  border-radius:10px;
  background:rgba(77,114,255,.12);
  color:var(--lp-primary-300);
}
.lp-footer-v2__contact-label{
  display:block;
  font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:2px;
}
.lp-footer-v2__contact-value{
  display:block;font-size:.86rem;line-height:1.45;color:var(--lp-dark-text-2);
}
.lp-footer-v2__contact-value a{
  color:var(--lp-dark-text);text-decoration:none;
  transition:color .2s;
}
.lp-footer-v2__contact-value a:hover{color:var(--lp-primary-300)}

/* Bottom bar */
.lp-footer-v2__bottom{
  position:relative;z-index:1;
  padding:clamp(1rem,2.5vw,1.25rem) clamp(1rem,3vw,2rem) clamp(1.25rem,3vw,1.5rem);
}
.lp-footer-v2__bottom-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  max-width:1200px;margin:0 auto;
}
.lp-footer-v2__copy{
  margin:0;font-size:.8rem;color:var(--lp-dark-text-3);
}
.lp-footer-v2__legal{
  display:flex;flex-wrap:wrap;gap:6px 18px;
}
.lp-footer-v2__legal a{
  font-size:.8rem;color:var(--lp-dark-text-3);
  text-decoration:none;transition:color .2s;
}
.lp-footer-v2__legal a:hover{color:#fff}

@media (max-width:1024px){
  .lp-footer-v2__cta-inner{flex-direction:column;align-items:flex-start}
  .lp-footer-v2__main{grid-template-columns:1fr}
  .lp-footer-v2__brand{max-width:none}
  .lp-footer-v2__cols{grid-template-columns:repeat(2,1fr)}
  .lp-footer-v2__contact{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lp-footer-v2__cols{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}
  .lp-footer-v2__cta-actions{width:100%}
  .lp-footer-v2__cta-actions .lp-cta-primary,
  .lp-footer-v2__cta-actions .lp-cta-ghost{flex:1;text-align:center;justify-content:center}
  .lp-footer-v2__bottom-inner{flex-direction:column;align-items:flex-start}
  .lp-footer-v2__legal{gap:8px 14px}
}
@media (max-width:420px){
  .lp-footer-v2__cols{grid-template-columns:1fr}
}

/* 41) Sprint 18 — hero home: encuadre profesional */
body.limapol-public .lp-hero-sec{
  padding-bottom:clamp(2rem,5vw,3.5rem) !important;
}
body.limapol-public .lp-hero-sec > .e-con-inner{
  max-width:1180px;margin-inline:auto;width:100%;
}

/* Copy column — alineación izquierda, ritmo tipográfico */
.lp-hero-sec .lp-hero-col--copy{
  display:flex;flex-direction:column;justify-content:center;
  padding-right:clamp(8px,2vw,24px);
}
.lp-hero-sec .lp-hero-col--copy .elementor-widget-heading .elementor-heading-title{
  text-align:left !important;
  margin-inline:0 !important;
  max-width:12ch !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
}
.lp-hero-sec .lp-hero-col--copy .elementor-widget-text-editor,
.lp-hero-sec .lp-hero-col--copy .elementor-widget-text-editor p{
  text-align:left !important;
  margin-inline:0 !important;
  max-width:46ch !important;
}
.lp-hero-sec .lp-hero-col--copy .elementor-widget-text-editor p{
  font-size:1.06rem;line-height:1.68;color:var(--lp-text-2);
}
.lp-hero-sec .lp-hero-col--copy .lp-chip{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(77,114,255,.14);
  box-shadow:0 4px 14px -8px rgba(77,114,255,.18);
  font-size:.76rem;padding:.42rem .85rem;
}
.lp-hero-sec .lp-hero-col--copy .e-con-inner{
  justify-content:flex-start !important;
  gap:12px !important;
}
.lp-hero-sec .lp-trust{
  margin-top:6px;padding-top:18px;
  border-top:1px solid rgba(11,15,36,.07);
  width:100%;gap:12px 20px;
}
.lp-hero-sec .lp-trust > div{font-size:.84rem}

/* Visual column — marco premium */
.lp-hero-sec .lp-hero-col--visual{
  display:flex;align-items:center;justify-content:center;
  padding-left:clamp(4px,1.5vw,16px);
}
.lp-hero-sec .lp-hero-visual{
  position:relative;width:100%;max-width:480px;
  padding:clamp(18px,2.5vw,26px);
  border-radius:26px;
  background:linear-gradient(160deg,rgba(255,255,255,.88) 0%,rgba(241,245,255,.72) 100%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:
    0 28px 72px -36px rgba(77,114,255,.28),
    0 8px 24px -12px rgba(11,15,36,.10),
    inset 0 1px 0 rgba(255,255,255,1);
}
.lp-hero-sec .lp-hero-visual::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:-1;
  background:linear-gradient(135deg,rgba(77,114,255,.14),rgba(123,91,255,.08));
  opacity:.55;
}
.lp-hero-sec .lp-hero-visual__label{
  text-align:left;margin:0 0 10px;
  font-size:.68rem;letter-spacing:.14em;
}
.lp-hero-sec .lp-hero-visual__caption{
  text-align:left;margin:12px 0 0;
  font-size:.68rem;line-height:1.55;letter-spacing:.05em;
  max-width:100%;
}
.lp-hero-sec .lp-mockup{
  max-width:100%;padding-top:30px;gap:14px;
}
.lp-hero-sec .lp-mockup__card{
  border-radius:18px;
  box-shadow:0 10px 28px -18px rgba(11,15,36,.16);
}
.lp-hero-sec .lp-mockup__card--mission{
  right:4%;font-size:11px;padding:9px 13px;border-radius:11px;
  box-shadow:0 12px 32px -14px rgba(77,114,255,.55);
}
.lp-hero-sec .lp-mockup__card--ranking{
  width:88%;align-self:flex-end;
}

/* Trust badges justo bajo hero — transición suave */
body.limapol-public .lp-trust-badges-sec{
  margin-top:-0.5rem;
  border-top:1px solid rgba(11,15,36,.05);
}

@media (max-width:1024px){
  .lp-hero-sec .lp-hero-col--copy .elementor-widget-heading .elementor-heading-title{
    max-width:none !important;
  }
  .lp-hero-sec .lp-hero-col--copy .elementor-widget-text-editor,
  .lp-hero-sec .lp-hero-col--copy .elementor-widget-text-editor p{
    max-width:none !important;
    
  }
  .lp-hero-sec .lp-hero-col--visual{
    padding-left:0;margin-top:8px;
  }
  .lp-hero-sec .lp-hero-visual{max-width:440px;margin-inline:auto}
  .lp-hero-sec .lp-hero-visual__label,
  .lp-hero-sec .lp-hero-visual__caption{text-align:center}
}

@media (max-width:767px){
  .lp-hero-sec .lp-hero-col--copy .elementor-widget-heading .elementor-heading-title{
    font-size:clamp(1.85rem,7vw,2.35rem) !important;
  }
  .lp-hero-sec .lp-hero-visual{
    padding:16px;border-radius:22px;
  }
  .lp-hero-sec .lp-mockup{padding-top:24px}
  .lp-hero-sec .lp-trust{
    flex-direction:column;align-items:flex-start;gap:10px;
  }
}
