.elementor-110 .elementor-element.elementor-element-45c548c{--display:flex;--min-height:100px;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-110 .elementor-element.elementor-element-45c548c:not(.elementor-motion-effects-element-type-background), .elementor-110 .elementor-element.elementor-element-45c548c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F500;}.elementor-110 .elementor-element.elementor-element-9be8f9c{--display:flex;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-site-logo .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 );}.elementor-110 .elementor-element.elementor-element-1f2bb9c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:left;}.elementor-110 .elementor-element.elementor-element-1f2bb9c img{width:40%;}.elementor-110 .elementor-element.elementor-element-fda293e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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 );}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button{background-color:#ECECECD6;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;fill:#1D1D1D;color:#1D1D1D;border-radius:5px 5px 5px 5px;}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button-content-wrapper{flex-direction:row;}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button .elementor-button-content-wrapper{gap:5px;}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-110 .elementor-element.elementor-element-f745e20 .elementor-button{background-color:#ECECECD6;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;fill:#1D1D1D;color:#1D1D1D;border-radius:5px 5px 5px 5px;}.elementor-110 .elementor-element.elementor-element-f745e20 .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-f745e20 .elementor-button:focus{color:var( --e-global-color-secondary );}.elementor-110 .elementor-element.elementor-element-f745e20 .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-f745e20 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button{font-size:14px;}}@media(min-width:768px){.elementor-110 .elementor-element.elementor-element-45c548c{--content-width:1200px;}.elementor-110 .elementor-element.elementor-element-fda293e{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-110 .elementor-element.elementor-element-45c548c{--content-width:700px;}}@media(max-width:767px){.elementor-110 .elementor-element.elementor-element-9be8f9c{--width:25%;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-110 .elementor-element.elementor-element-1f2bb9c img{width:100%;}.elementor-110 .elementor-element.elementor-element-fda293e{--width:55%;}.elementor-110 .elementor-element.elementor-element-52056b1 .elementor-button{font-size:10px;}}/* Start custom CSS for container, class: .elementor-element-45c548c *//* ===== Header base ===== */
#header {
  --h: 100px;              /* altura normal */
  --h-scrolled: 54px;      /* altura al hacer scroll */
  --logo: 100px;           /* alto máx del logo normal */
  --logo-scrolled: 82px;   /* alto máx del logo scrolleado */
  --lift: -6px;            /* leve subida visual al hacer scroll */

  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--h);
  background-color: transparent;
  display: flex;
  align-items: center;
  z-index: 999;

  /* Transiciones suaves */
  transition:
    background-color 0.8s ease,
    height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.35s ease,
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Contenido interno (opcional si tienes padding/gaps) */
#header .wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  transition: padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Estado scrolleado: más angosto + “sube” un poco */
#header.scrolled {
  background-color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  height: var(--h-scrolled);
  transform: translateY(var(--lift));
}

/* Reduce levemente el padding al scrollear (opcional) */
#header.scrolled .wrap {
  padding: 0 20px;
}

/* Logo */
#header img {
  max-height: var(--logo);
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Logo más compacto */
#header.scrolled img {
  max-height: var(--logo-scrolled);
  transform: translateY(-1px); /* micro ajuste visual */
}

/* Accesibilidad: reduce movimiento si el usuario lo prefiere */
@media (prefers-reduced-motion: reduce) {
  #header, #header .wrap, #header img {
    transition: none;
  }
}/* End custom CSS */