.elementor-111 .elementor-element.elementor-element-lfhdr01{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:60;}.elementor-111 .elementor-element.elementor-element-lftop01{--display:flex;--min-height:44px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:48px;--padding-right:48px;}.elementor-111 .elementor-element.elementor-element-lftop01:not(.elementor-motion-effects-element-type-background), .elementor-111 .elementor-element.elementor-element-lftop01 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2B6CA3;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-111 .elementor-element.elementor-element-lfhdr02{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:14px;--padding-bottom:14px;--padding-left:24px;--padding-right:24px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-111 .elementor-element.elementor-element-lfhdr03 img{width:152px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-111 .elementor-element.elementor-element-16acdc9 .elementor-button{background-color:#FF5200;}.elementor-111 .elementor-element.elementor-element-16acdc9 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-111 .elementor-element.elementor-element-lfhdr04{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-111 .elementor-element.elementor-element-lfhdr05 .elementor-button{background-color:#FF5200;}.elementor-111 .elementor-element.elementor-element-lfhdr05 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-111 .elementor-element.elementor-element-lfoc001 .e-off-canvas__content{background-color:#1D1D1D;}.elementor-111 .elementor-element.elementor-element-lfoc001 .e-off-canvas__overlay{background-color:rgba(0,0,0,0.6);}.elementor-111 .elementor-element.elementor-element-lfoc001{--e-off-canvas-justify-content:flex-end;--e-off-canvas-align-items:flex-start;--e-off-canvas-width:380px;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-overlay-opacity:1;}.elementor-111 .elementor-element.elementor-element-lfocc01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-111 .elementor-element.elementor-element-lfhdr04{--width:auto%;}}@media(max-width:1024px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-111 .elementor-element.elementor-element-lfhdr02{--padding-top:14px;--padding-bottom:14px;--padding-left:20px;--padding-right:20px;}.elementor-widget-image .widget-image-caption{line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-widget-text-editor{line-height:var( --e-global-typography-text-line-height );}.elementor-111 .elementor-element.elementor-element-lfhdr02{--flex-wrap:nowrap;--padding-top:14px;--padding-bottom:14px;--padding-left:28px;--padding-right:18px;}.elementor-widget-image .widget-image-caption{line-height:var( --e-global-typography-text-line-height );}.elementor-111 .elementor-element.elementor-element-lfhdr03 img{width:186px;}.elementor-widget-button .elementor-button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-111 .elementor-element.elementor-element-16acdc9{width:100%;max-width:100%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS *//* La cabecera es una plantilla de Theme Builder: por defecto renderiza EN FLUJO
   antes del <main>, asi que reservaba su propia banda y empujaba el hero hacia
   abajo. Con 100vh de hero eso sumaba mas que el viewport y cortaba el CTA.
   Se saca del flujo: absoluta arriba. Cuando Elementor la pega al hacer scroll
   pone position:fixed por su cuenta y esta regla deja de mandar. */
body.home header.elementor-location-header{
  position:absolute;
  inset-inline:0;
  top:0;
  z-index:60;
}
/* El espaciador que Elementor inserta para conservar el hueco sobra: la
   cabecera ya no ocupa flujo. */
body.home header.elementor-location-header .elementor-sticky__spacer{ display:none }

/* Arriba del todo la cabecera no pinta nada: ni fondo ni desenfoque, para no
   ensuciar el video del hero. */
.lf-hdr{
  background-color:transparent;
  transition:background-color .2s ease, backdrop-filter .2s ease;
}

/* Elementor anade .elementor-sticky--effects al pegarse. ESA clase es el estado
   solido: no hace falta JS propio para el cambio. */
.lf-hdr.elementor-sticky--effects{
  background-color:rgba(29,29,29,.60);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--edge-d2);
}

/* La hamburguesa lleva caja propia. Su borde es cream al 14%: sobre el video
   se lee, sobre un fondo claro desaparecia (que era el sintoma del punto 3). */
.elementor-widget-nav-menu.lf-nav .elementor-nav-menu--dropdown{
  background-color:var(--sheet);
  border-radius:var(--r);
  overflow:hidden;
  margin-top:var(--s3);
}
.elementor-widget-nav-menu.lf-nav .elementor-nav-menu--dropdown a{
  color:var(--cream); font-weight:500;
  padding:var(--s4) var(--s5); min-height:2.75rem;
}
.elementor-widget-nav-menu.lf-nav .elementor-nav-menu--dropdown a:hover,
.elementor-widget-nav-menu.lf-nav .elementor-nav-menu--dropdown a.elementor-item-active{
  background-color:var(--sheet-2); color:var(--kerf);
}

@media (max-width:560px){
  .lf-hdr-cta .elementor-button{ padding-left:var(--s4); padding-right:var(--s4) }
}

/* ---------- barra de WhatsApp ----------
   Vive DENTRO del wrapper posicionado, como hermana de la fila del logo. El
   azul va aqui, en la barra; el wrapper .lf-hdr sigue transparente, asi que la
   fila de abajo se monta sobre el video sin fondo propio.
   Asi no hay que sincronizar el top del header con ninguna --topbar-h. */
.lf-topbar{ min-height:44px }
.elementor-widget-text-editor.lf-topbar-txt{
  color:#FFFFFF;
  font-size:var(--fs-micro);
  font-weight:500;
  line-height:1.4;
}
.elementor-widget-text-editor.lf-topbar-txt p{ margin:0 }
/* Blanco sobre #2B6CA3 mide 5,56:1. El azul se oscurecio en su dia justo para
   que este texto cumpliera AA; no subirlo de tono. */
.elementor-widget-text-editor.lf-topbar-txt a{
  color:#FFFFFF;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
}
.elementor-widget-text-editor.lf-topbar-txt a:hover{ text-decoration-thickness:2px }

/* La X vive a la derecha sin sacar la frase de su centrado. */
.elementor-widget-html.lf-topbar-x{
  position:absolute;
  right:12px; top:50%; transform:translateY(-50%);
  width:auto;
}
.lf-topbar .lf-tx{
  display:grid; place-items:center;
  width:32px; height:32px;
  padding:0; border:0; cursor:pointer;
  background:transparent; color:#FFFFFF;
  border-radius:var(--r-2);
}
.lf-topbar .lf-tx:hover{ background:rgba(255,255,255,.16) }
.lf-topbar .lf-tx svg{ width:14px; height:14px }

@media (max-width:560px){
  .elementor-widget-text-editor.lf-topbar-txt{ font-size:.8125rem }
  .lf-topbar{ padding-inline:44px }
}

/* ---- Disparador del menu: abre el Off-Canvas [lfoc001] ---- */
.lf-menu-toggle{
  display:grid; place-items:center;
  width:2.75rem; height:2.75rem;   /* UX: objetivo tactil de 44px */
  border:1px solid rgba(250,243,230,.28);
  border-radius:var(--r);
  background:rgba(250,243,230,.06);
  color:var(--cream);
  transition:background-color .16s ease, border-color .16s ease;
}
.lf-menu-toggle:hover{ background:rgba(250,243,230,.14); border-color:rgba(250,243,230,.45) }
.lf-menu-toggle:focus-visible{ outline:2px solid var(--kerf); outline-offset:2px }
.lf-menu-toggle svg{ display:block }

/* ---- Panel Off-Canvas ---- */
@media (max-width:480px){ .lf-oc{ --e-off-canvas-width:86vw } }
.lf-oc .e-off-canvas__content{ padding:var(--s8) var(--s6) }
.lf-oc .lf-oc-nav .elementor-nav-menu--main .elementor-item{
  color:var(--cream); font-size:1.25rem; line-height:1.3;
  padding:var(--s4) 0; justify-content:flex-start;
}
.lf-oc .lf-oc-nav .elementor-nav-menu--main .elementor-item:hover,
.lf-oc .lf-oc-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{ color:var(--kerf) }


/* ============================================================
   FUERA DE LA PORTADA NO HAY HERO (2026-08-20)
   Sacar la cabecera del flujo existe SOLO para que el hero pueda medir
   100vh. En las paginas sin hero -las tres legales- la cabecera absoluta
   se montaba ENCIMA del texto y tapaba el principio del documento.
   Fuera de la portada vuelve al flujo y se pinta solida, que es
   exactamente lo que hace el build local: legal.css .hdr va sticky, con
   fondo --sheet y filete inferior. Sin esto el logotipo crema quedaria
   ademas invisible sobre el fondo claro de las legales.
   La franja azul es del hero por decision de cliente -la franja solo en
   PC y en el hero-, asi que tampoco sale aqui.
   ============================================================ */
body:not(.home) .lf-hdr{
  background-color:var(--sheet);
  border-bottom:1px solid var(--edge-d2);
}
body:not(.home) .lf-topbar{ display:none }


/* ===== LF-OC-CLOSE-V1 ===== */
/* 1. El toggle. El reset.css del tema pinta a:active,a:hover con #336. Ese
      par de reglas es 0-1-1 y .lf-menu-toggle es 0-1-0, asi que ganaba el tema y
      las lineas del icono (stroke:currentColor) se oscurecian al pasar el
      raton. Misma familia que el numeral del 404: se ancla mas alto, nunca
      con la palabra prohibida. */
.elementor-widget-html.lf-menu-toggle-w a.lf-menu-toggle,
.elementor-widget-html.lf-menu-toggle-w a.lf-menu-toggle:hover,
.elementor-widget-html.lf-menu-toggle-w a.lf-menu-toggle:focus,
.elementor-widget-html.lf-menu-toggle-w a.lf-menu-toggle:active{
  color:var(--cream);
}

/* 2. Boton de cerrar del panel. El widget Off-Canvas de esta version no emite
      ninguno: su handler solo cierra por clic en el velo y por Esc. Este boton
      es un enlace con el hash de la accion off_canvas:close, que el propio
      Elementor registra como url action. Sin JS propio. */
/* El contenedor interior de Elementor (.e-con) ya es position:relative, asi
   que un absolute aqui se resolvia contra el y no contra el panel: la X
   caia a la altura del primer enlace y le comia el area de clic. Va en
   flujo, alineada a la derecha, como primer hijo de la columna. */
.elementor-widget-html.lf-oc-close-w{
  align-self:flex-end; width:auto; margin-bottom:var(--s5);
}
.lf-oc-close{
  display:grid; place-items:center;
  width:2.75rem; height:2.75rem;   /* UX: objetivo tactil de 44px */
  border:1px solid rgba(250,243,230,.28);
  border-radius:var(--r);
  background:rgba(250,243,230,.06);
  transition:background-color .16s ease, border-color .16s ease;
}
.elementor-widget-html.lf-oc-close-w a.lf-oc-close,
.elementor-widget-html.lf-oc-close-w a.lf-oc-close:hover,
.elementor-widget-html.lf-oc-close-w a.lf-oc-close:focus,
.elementor-widget-html.lf-oc-close-w a.lf-oc-close:active{ color:var(--cream) }
.lf-oc-close:hover{ background:rgba(250,243,230,.14); border-color:rgba(250,243,230,.45) }
.lf-oc-close:focus-visible{ outline:2px solid var(--kerf); outline-offset:2px }
.lf-oc-close svg{ display:block }/* End custom CSS */