.elementor-4069 .elementor-element.elementor-element-114ddf7c{--display:flex;--min-height:300vh;}.elementor-4069 .elementor-element.elementor-element-1af8671f{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-981d6c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4069 .elementor-element.elementor-element-919e079 .elementor-heading-title{color:#FAF9F6;}.elementor-4069 .elementor-element.elementor-element-65dfd5b4{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-65dfd5b4:not(.elementor-motion-effects-element-type-background), .elementor-4069 .elementor-element.elementor-element-65dfd5b4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F7;}.elementor-4069 .elementor-element.elementor-element-78db0562{--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;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-4069 .elementor-element.elementor-element-fbac3ae{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-46c3d1c{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-2b0444a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-89356fb .elementor-heading-title{color:#242621;}.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-4069 .elementor-element.elementor-element-6c215a3{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-478db11{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-93d9e7a{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-9e83715 .elementor-heading-title{color:#FAF9F6;}.elementor-4069 .elementor-element.elementor-element-a02f2ae{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-7f5705c{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-c6a6af3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-1d45dc1 .elementor-heading-title{color:#FAF9F6;}.elementor-4069 .elementor-element.elementor-element-8ec4e6c{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-edfd2a9{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-b3cae94{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-f8008dd .elementor-heading-title{color:#FAF9F6;}.elementor-4069 .elementor-element.elementor-element-e964cb9{--display:flex;--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-e964cb9:not(.elementor-motion-effects-element-type-background), .elementor-4069 .elementor-element.elementor-element-e964cb9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F6;}.elementor-4069 .elementor-element.elementor-element-de95f5e{--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;}.elementor-4069 .elementor-element.elementor-element-f40600f{--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;}.elementor-4069 .elementor-element.elementor-element-f406024{--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;}.elementor-4069 .elementor-element.elementor-element-f406013{--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;}.elementor-4069 .elementor-element.elementor-element-f406017{--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;}.elementor-4069 .elementor-element.elementor-element-f40601b{--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;}.elementor-4069 .elementor-element.elementor-element-f40601f{--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;}.elementor-4069 .elementor-element.elementor-element-f406023{--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;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-4069 .elementor-element.elementor-element-114ddf7c{--min-height:300vh;}.elementor-4069 .elementor-element.elementor-element-981d6c{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-fbac3ae{--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-2b0444a{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-6c215a3{--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-93d9e7a{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-a02f2ae{--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-c6a6af3{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-8ec4e6c{--min-height:100vh;}.elementor-4069 .elementor-element.elementor-element-b3cae94{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-4069 .elementor-element.elementor-element-e964cb9{--min-height:100vh;}}/* Start custom CSS *//* =========================================================
   SMARTHO — VIDEO SCROLL / PLAY / SCROLL SNAP
   ========================================================= */

:root {
  --sm-paper: #F3F1EC;
  --sm-white: #FAF9F6;
  --sm-stone: #DCD8CF;
  --sm-mineral: #E9E6DF;
  --sm-grey: #74756F;
  --sm-ink: #242621;
  --sm-sage: #6E776B;
}


/* =========================================================
   ESCENA PRINCIPAL

   La altura del recorrido de video se controla desde:
   Elementor > Contenedor > Altura mínima.

   SCRUB: conservar el recorrido configurado.
   PLAY: usar una pantalla si no se desea recorrido extra.
   ========================================================= */

.smartho-scroll-scene {
  position: relative !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--sm-ink);
  overflow: visible;
  box-sizing: border-box;
}


/* =========================================================
   STAGE — PANTALLA STICKY
   ========================================================= */

.smartho-scroll-stage {
  position: sticky !important;
  top: 0;

  width: 100%;

  height: 100vh;
  height: 100dvh;

  min-height: 100vh !important;
  min-height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
  isolation: isolate;
  box-sizing: border-box;
}


/* =========================================================
   WIDGET HTML
   ========================================================= */

.smartho-scroll-stage .elementor-widget-html,
.smartho-scroll-stage
.elementor-widget-html
.elementor-widget-container {
  position: absolute !important;
  inset: 0;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   VIDEO
   ========================================================= */

.smartho-scroll-video {
  position: absolute;
  inset: 0;
  z-index: 1;

  display: block;

  width: 100% !important;
  height: 100% !important;

  margin: 0;
  padding: 0;

  object-fit: cover;
  object-position: center center;

  pointer-events: none;
  filter: none;
  border: 0;
}


/* =========================================================
   FIRST FRAME / PLACEHOLDER
   ========================================================= */

.smartho-media-placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;

  display: block;

  width: 100% !important;
  height: 100% !important;

  margin: 0;
  padding: 0;

  overflow: hidden;
  pointer-events: none;
  background: var(--sm-ink);
}

.smartho-media-placeholder img {
  position: absolute;
  inset: 0;

  display: block;

  width: 100% !important;
  height: 100% !important;

  margin: 0;
  padding: 0;

  object-fit: cover;
  object-position: center center;

  border: 0;
}


/* =========================================================
   OVERLAY DE CONTRASTE
   ========================================================= */

.smartho-scroll-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;

  pointer-events: none;

  background: linear-gradient(
    90deg,
    rgba(18, 20, 17, 0.30) 0%,
    rgba(18, 20, 17, 0.12) 30%,
    rgba(18, 20, 17, 0.04) 58%,
    transparent 78%
  );
}


/* =========================================================
   CONTENIDO SOBRE EL VIDEO
   ========================================================= */

.smartho-scroll-content {
  position: absolute !important;
  inset: 0;
  z-index: 3;

  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;

  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 8vh 6vw;

  box-sizing: border-box;
  color: var(--sm-white);
  pointer-events: none;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.smartho-eyebrow {
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}


/* =========================================================
   DISPLAY / TITULAR
   ========================================================= */

.smartho-display .elementor-heading-title {
  color: var(--sm-white);

  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.5rem, 7vw, 8.5rem);
  font-weight: 400;

  line-height: 0.92;
  letter-spacing: -0.05em;
}

.smartho-display em {
  color: #AEB3AA;
  font-weight: 400;
}


/* =========================================================
   TEXTO
   ========================================================= */

.smartho-lead {
  max-width: 520px;
  color: rgba(250, 249, 246, 0.82);

  font-family: Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}


/* =========================================================
   SECCIONES ESTÁTICAS — MÍNIMO UNA PANTALLA

   --min-height es la variable de altura del contenedor
   de Elementor.

   max() conserva una altura mayor definida en Elementor,
   pero evita que estas secciones midan menos de una pantalla.

   El contenido puede hacer crecer la sección si lo necesita.
   ========================================================= */

.smartho-editorial,
.smartho-process,
.smartho-contact {
  min-height: 100vh;

  min-height:
    max(100vh, var(--min-height, 0px)) !important;

  padding: 14vh 6vw;
  box-sizing: border-box;
}

@supports (height: 100dvh) {
  .smartho-editorial,
  .smartho-process,
  .smartho-contact {
    min-height:
      max(100dvh, var(--min-height, 0px)) !important;
  }
}

.smartho-editorial {
  background: var(--sm-paper);
  color: var(--sm-ink);
}


/* =========================================================
   SIN OVERLAY

   Agregar al stage: smartho-no-overlay
   ========================================================= */

.smartho-scroll-stage.smartho-no-overlay::after {
  display: none;
}


/* =========================================================
   OVERLAY SUAVE

   Agregar al stage: smartho-light-overlay
   ========================================================= */

.smartho-scroll-stage.smartho-light-overlay::after {
  background: linear-gradient(
    90deg,
    rgba(18, 20, 17, 0.18) 0%,
    rgba(18, 20, 17, 0.06) 35%,
    transparent 72%
  );
}


/* =========================================================
   MOBILE

   Video, placeholder y stage heredan las dimensiones
   de las reglas generales.
   ========================================================= */

@media (max-width: 767px) {

  .smartho-scroll-content {
    padding: 9vh 6vw;
  }

  .smartho-scroll-stage::after {
    background: linear-gradient(
      0deg,
      rgba(18, 20, 17, 0.40) 0%,
      rgba(18, 20, 17, 0.16) 28%,
      rgba(18, 20, 17, 0.04) 62%,
      transparent 82%
    );
  }

  .smartho-scroll-stage.smartho-light-overlay::after {
    background: linear-gradient(
      0deg,
      rgba(18, 20, 17, 0.24) 0%,
      rgba(18, 20, 17, 0.06) 42%,
      transparent 75%
    );
  }

  .smartho-display .elementor-heading-title {
    font-size: clamp(3.1rem, 14vw, 5.8rem);
  }

  .smartho-editorial,
  .smartho-process,
  .smartho-contact {
    padding: 11vh 6vw;
  }

}


/* =========================================================
   SCROLL SNAP

   El JavaScript agrega las clases y desactiva el snap
   durante el recorrido de las secciones SCRUB.
   ========================================================= */

html.smartho-snap-enabled {
  scroll-snap-type: y mandatory;
}

html.smartho-snap-enabled.smartho-scrub-active {
  scroll-snap-type: none;
}

.smartho-snap-section {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}


/* =========================================================
   ACCESIBILIDAD — MOVIMIENTO REDUCIDO
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  html.smartho-snap-enabled {
    scroll-snap-type: none;
  }
}

/* Lutron v2: incluir el header y el footer en el recorrido de scroll. */
body.page-id-4069 .elementor-location-header {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
body.page-id-4069 .elementor-location-footer {
  scroll-snap-align: end;
  scroll-snap-stop: normal;
}/* End custom CSS */