.elementor-2014 .elementor-element.elementor-element-18edcaa{--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;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-2014 .elementor-element.elementor-element-9ee2e6f{--display:flex;--padding-top:40px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-9ee2e6f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2014 .elementor-element.elementor-element-88a6099{--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;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-10ecb05 img{width:90%;max-width:150px;}.elementor-2014 .elementor-element.elementor-element-d75156c{width:var( --container-widget-width, 115.709% );max-width:115.709%;--container-widget-width:115.709%;--container-widget-flex-grow:0;}.elementor-2014 .elementor-element.elementor-element-d75156c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2014 .elementor-element.elementor-element-d75156c .elementor-wrapper{--video-aspect-ratio:0.5625;}.elementor-2014 .elementor-element.elementor-element-3283e75{--display:flex;--justify-content:space-around;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-a86a0fd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:20px 0px 20px 0px;text-align:center;}.elementor-2014 .elementor-element.elementor-element-a86a0fd .elementor-heading-title{font-size:2rem;text-transform:uppercase;line-height:2.7rem;color:#72383D;}.elementor-2014 .elementor-element.elementor-element-eadfb66{--e-image-carousel-slides-to-show:1;}.elementor-2014 .elementor-element.elementor-element-eadfb66 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-2014 .elementor-element.elementor-element-eadfb66 .elementor-swiper-button.elementor-swiper-button-next{color:#72383D;}.elementor-2014 .elementor-element.elementor-element-eadfb66 .elementor-swiper-button.elementor-swiper-button-prev svg, .elementor-2014 .elementor-element.elementor-element-eadfb66 .elementor-swiper-button.elementor-swiper-button-next svg{fill:#72383D;}.elementor-2014 .elementor-element.elementor-element-1ec16be{--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;--margin-top:40px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-9d96db7 img{width:90%;max-width:150px;}.elementor-2014 .elementor-element.elementor-element-172e679{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3vw;--padding-bottom:8vw;--padding-left:3vw;--padding-right:0vw;}.elementor-2014 .elementor-element.elementor-element-1e8db96 .elementor-heading-title{font-size:2.6rem;line-height:2.7rem;color:#948B7A;}.elementor-2014 .elementor-element.elementor-element-faef69c{--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;--gap:80px 80px;--row-gap:80px;--column-gap:80px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-2acd7ba{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2014 .elementor-element.elementor-element-2acd7ba .elementor-heading-title{font-size:1rem;font-weight:400;text-transform:uppercase;color:#948B7A;}.elementor-2014 .elementor-element.elementor-element-d29d02e{--display:flex;}.elementor-2014 .elementor-element.elementor-element-f9517f5{width:var( --container-widget-width, 68% );max-width:68%;--container-widget-width:68%;--container-widget-flex-grow:0;}.elementor-2014 .elementor-element.elementor-element-f9517f5 .elementor-heading-title{font-size:0.8rem;font-weight:300;color:#948B7A;}.elementor-2014 .elementor-element.elementor-element-cd329f9{--display:flex;--min-height:60vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-a243d15{--display:flex;}.elementor-2014 .elementor-element.elementor-element-a243d15:not(.elementor-motion-effects-element-type-background), .elementor-2014 .elementor-element.elementor-element-a243d15 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cetri.gt/wp-content/uploads/2026/02/CETRI-Fachada-Atardecer.jpg");background-position:center center;background-size:cover;}.elementor-2014 .elementor-element.elementor-element-c03e605{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:9%;--padding-bottom:9%;--padding-left:9%;--padding-right:9%;}.elementor-2014 .elementor-element.elementor-element-c03e605:not(.elementor-motion-effects-element-type-background), .elementor-2014 .elementor-element.elementor-element-c03e605 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#72383D;}.elementor-2014 .elementor-element.elementor-element-f012070{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2014 .elementor-element.elementor-element-f012070 .elementor-heading-title{font-size:2.6rem;line-height:3.2rem;color:#D1C7BD;}.elementor-2014 .elementor-element.elementor-element-646bbdc{width:100%;max-width:100%;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-labels-inline .elementor-field-group > label{padding-left:6px;}body:not(.rtl) .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-labels-inline .elementor-field-group > label{padding-right:6px;}body .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-labels-above .elementor-field-group > label{padding-bottom:6px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group > label, .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-subgroup label{color:#F4EDE3;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group > label{font-family:"Arial", Sans-serif;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-type-html{padding-bottom:0px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group .elementor-field{color:#F4EDE3;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group .elementor-field, .elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-subgroup label{font-family:"Arial", Sans-serif;font-size:0.9rem;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#72383D;border-color:#F4EDE3;border-radius:25px 25px 25px 25px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group .elementor-select-wrapper select{background-color:#72383D;border-color:#F4EDE3;border-radius:25px 25px 25px 25px;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-field-group .elementor-select-wrapper::before{color:#F4EDE3;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button{font-size:0.7rem;font-weight:400;text-transform:uppercase;}.elementor-2014 .elementor-element.elementor-element-646bbdc .e-form__buttons__wrapper__button-next{background-color:#D1C7BD;color:#3F3638;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button[type="submit"]{background-color:#D1C7BD;color:#3F3638;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button[type="submit"] svg *{fill:#3F3638;}.elementor-2014 .elementor-element.elementor-element-646bbdc .e-form__buttons__wrapper__button-previous{background-color:#020101;color:#FFFFFF;}.elementor-2014 .elementor-element.elementor-element-646bbdc .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2014 .elementor-element.elementor-element-646bbdc .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-message{font-size:1.2rem;font-weight:400;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-message.elementor-message-success{color:#FFFFFF;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-message.elementor-message-danger{color:#FFE3E3;}.elementor-2014 .elementor-element.elementor-element-646bbdc .elementor-message.elementor-help-inline{color:#FFD5D5;}@media(max-width:1024px){.elementor-2014 .elementor-element.elementor-element-172e679{--padding-top:4vw;--padding-bottom:12vw;--padding-left:8vw;--padding-right:3vw;}}@media(min-width:768px){.elementor-2014 .elementor-element.elementor-element-18edcaa{--content-width:1400px;}.elementor-2014 .elementor-element.elementor-element-9ee2e6f{--width:36%;}.elementor-2014 .elementor-element.elementor-element-3283e75{--width:67%;}.elementor-2014 .elementor-element.elementor-element-172e679{--content-width:1400px;}.elementor-2014 .elementor-element.elementor-element-cd329f9{--content-width:100%;}}@media(max-width:767px){.elementor-2014 .elementor-element.elementor-element-18edcaa{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-a86a0fd .elementor-heading-title{font-size:2rem;line-height:2.1rem;}.elementor-2014 .elementor-element.elementor-element-172e679{--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-2014 .elementor-element.elementor-element-1e8db96 .elementor-heading-title{font-size:2rem;line-height:2.1rem;}.elementor-2014 .elementor-element.elementor-element-faef69c{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-2014 .elementor-element.elementor-element-d29d02e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2014 .elementor-element.elementor-element-f9517f5{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-2014 .elementor-element.elementor-element-f9517f5 .elementor-heading-title{line-height:1.2rem;}.elementor-2014 .elementor-element.elementor-element-a243d15{--min-height:40vh;}.elementor-2014 .elementor-element.elementor-element-f012070 .elementor-heading-title{font-size:2.1rem;line-height:2.4rem;}}/* Start custom CSS for heading, class: .elementor-element-f012070 *//* ===== Big title word reveal ===== */
.reveal-title .line{
  display:block;
  overflow:hidden;
}

.reveal-title .word{
  display:inline-block;
  transform: translateY(120%);
  opacity: 0;
  transition:
    transform .9s cubic-bezier(.22,.8,.22,1),
    opacity .9s ease;
  transition-delay: calc(var(--i) * 0.045s);
  will-change: transform, opacity;
}

.reveal-title.is-on .word{
  transform: translateY(0);
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS */html.gsap-menu-prep .js-menu-intro .elementor-nav-menu > li {
  opacity: 0 !important;
  transform: translateY(-22px) !important;
}

html.gsap-logo-prep .js-logo-intro {
  opacity: 0 !important;
  transform: scale(0.75) !important;
  transform-origin: 50% 50%;
}

/* ✅ FIX: remove width:100% (can cause squeeze/jumpy behavior) */
@media (max-width: 1024px){
  html, body{
    padding-right: 0 !important;
  }
}

/* ✅ Optional force-load for meno-banner (safe) */
html::before{
  content:"";
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
  font-family: meno-banner;
}

.use-stolzl,
.use-stolzl h2,
.use-stolzl h3{ 
  font-family: "stolzl", sans-serif !important;
}

.use-meno-banner,
.use-meno-banner h2{ 
  font-family: meno-banner, serif !important; 
}

/* =========================================
   HEADER BLUR (Elementor sticky container)
   Target: .elementor-element-264ea92 when sticky is active
   ========================================= */

/* Make sure the sticky container can host a pseudo overlay */
.elementor-location-header .elementor-element-264ea92.elementor-sticky--active{
  position: fixed; /* Elementor sets this, but keep safe */
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;   /* fixes that huge inline width like 2271px */
  z-index: 9999 !important; /* above page */
  background: transparent !important;
  overflow: visible !important;
}

/* The blur “glass” layer */
.elementor-location-header .elementor-element-264ea92.elementor-sticky--active::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(245, 239, 231, 0.55); /* adjust tint */
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);  /* Safari */
  border-bottom: 1px solid rgba(0,0,0,0.06); /* optional */
  pointer-events: none;
  z-index: 0;
}

/* Keep header content above the blur layer */
.elementor-location-header .elementor-element-264ea92.elementor-sticky--active > .e-con-inner{
  position: relative;
  z-index: 1;
}

/* If WP admin bar is present, Elementor uses top:32px; keep it consistent */
body.admin-bar .elementor-location-header .elementor-element-264ea92.elementor-sticky--active{
  top: 32px !important;
}

/* spacing between words (instead of putting spaces in text nodes) */
.reveal-title .word{
  margin-right: 0.25em;
}
.reveal-title .word:last-child{
  margin-right: 0;
}

.contact-mnu a{
  text-align: center;
}

.elementor-nav-menu--dropdown ul{
  padding-bottom: 16px;
}

/* ============ CETRI Mobile Menu ============ */

:root{
  --mm-w: min(86vw, 420px);
  --mm-bg: #F4EDE3;
  --mm-overlay: rgba(0,0,0,.45);
  --mm-blur: 14px;
  --mm-pad: 22px;
  --mm-ease: cubic-bezier(.2,.8,.2,1);
  --mm-dur: 420ms;
}

/* Wrapper */
.cetri-mmenu{
  position: relative;
  z-index: 999999;
}

/* Burger button */
.cetri-burger{
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}

/* Burger icon */
.cetri-burger__icon{
  width: 36px;
  height: 26px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
}

.cetri-burger__icon span{
  display: block;
  height: 2px;
  width: 100%;
  background: rgba(114, 56, 61, .92);
  border-radius: 999px;
  transform-origin: center;
  transition: transform var(--mm-dur) var(--mm-ease), opacity var(--mm-dur) var(--mm-ease);
}

/* Open state morphs to X */
.cetri-mmenu.is-open .cetri-burger__icon span:nth-child(1){
  transform: translateY(12px) rotate(45deg);
}
.cetri-mmenu.is-open .cetri-burger__icon span:nth-child(2){
  opacity: 0;
  transform: scaleX(.6);
}
.cetri-mmenu.is-open .cetri-burger__icon span:nth-child(3){
  transform: translateY(-12px) rotate(-45deg);
}

/* Overlay */
.cetri-mmenu__overlay{
  position: fixed;
  inset: 0;
  background: var(--mm-overlay);
  backdrop-filter: blur(var(--mm-blur));
  -webkit-backdrop-filter: blur(var(--mm-blur));
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--mm-dur) var(--mm-ease);
}

/* Panel */
.cetri-mmenu__panel{
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  height: 100dvh; /* modern mobile fix */
  width: var(--mm-w);
  background: var(--mm-bg);
  transform: translateX(100%);
  transition: transform var(--mm-dur) var(--mm-ease);
  box-shadow: none;
  display: flex;
  flex-direction: column;
  padding: var(--mm-pad);
  z-index: 1000000;
  overflow: hidden;
}

/* Open visibility */
.cetri-mmenu.is-open .cetri-mmenu__overlay{
  opacity: 1;
  pointer-events: auto;
}
.cetri-mmenu.is-open .cetri-mmenu__panel{
  transform: translateX(0);
  box-shadow: -20px 0 70px rgba(0,0,0,.35);
}

/* Top row */
.cetri-mmenu__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 14px 8px;
  border-bottom: 1px solid rgba(0,0,0,0.06); /* ✅ fixed line */
}

.cetri-mmenu__title{
  font-family: "stolzl", sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  color: #948B7A;
}

/* Close pill */
.cetri-mmenu__close{
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.35);
  color: rgba(0,0,0,.75);
  width: 46px;
  height: 38px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
.cetri-mmenu__close:hover{
  background: rgba(255,255,255,.50);
  border-color: rgba(0,0,0,.14);
}

/* Links */
.cetri-mmenu__nav{
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.cetri-mmenu__nav a{
  font-family: meno-banner, serif;
  font-size: 24px;
  letter-spacing: .01em;
  color: #948B7A;
  text-decoration: none;
  padding: 0px 6px;
  border-radius: 12px;
  transition: background .2s ease, transform .2s ease;
}
.cetri-mmenu__nav a:hover{
  background: rgba(255,255,255,.35);
  transform: translateX(2px);
}

/* Footer CTA */
.cetri-mmenu__footer{
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.cetri-mmenu__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 14px 18px;
  border-radius: 999px;
  background: #72383D;
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-family: "stolzl", sans-serif;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

/* Hide burger on desktop */
@media (min-width: 768px){
  .cetri-mmenu{ display: none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .cetri-burger__icon span,
  .cetri-mmenu__overlay,
  .cetri-mmenu__panel{
    transition: none !important;
  }
}

/* Optional: blur bar for your MOBILE header container */
@media (max-width: 767px){
  .cetri-mobile-header{
    position: sticky;
    top: 0;
    z-index: 9999;
    background: rgba(244, 237, 227, .62);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
}
/* Make sure the document always has a base color behind everything */
html{
  background: #EBE1D7 !important;
}

/* Create a safe stacking context so ::before with z-index:-1 always shows */
body{
  background: transparent !important;
  position: relative;
  isolation: isolate;        /* ✅ important */
  min-height: 100dvh;        /* ✅ mobile viewport-safe */
}

/* Full-screen background layer (opacity image) */
body::before{
  content:"";
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;

  width: 100vw;
  height: 100dvh;            /* ✅ use dynamic vh */

  z-index: -1;
  pointer-events: none;

  background-image: url("/wp-content/uploads/2026/03/CETRI-BG.jpg");
  background-position: bottom center;
  background-size: cover;
  background-repeat: no-repeat;

  opacity: .4;
}

@media (max-width: 767px){
  body::before{ opacity: .6; }
}
/* =========================================================
   ROOT VARS
   ========================================================= */
:root{
  /* Badge */
  --badge-size: 240px;
  --badge-center-size: 110px;
  --badge-left: 26%;
  --badge-overlap: calc(var(--badge-size) * -0.45);

  /* GM */
  --gm-pad: 26px;
  --gm-ui-bg-hover: rgba(255,255,255,.10);
  --gm-ui-border-hover: rgba(255,255,255,.28);
  --gm-ui-shadow-hover: 0 10px 35px rgba(0,0,0,.25);
  --gm-x-nudge-y: -2px;

  /* HERO video scale (default 1, hover will set higher) */
  --hero-video-scale: 1;

  /* MM (Modelos modal) animation */
  --mm-dur-in: 520ms;
  --mm-dur-out: 380ms;
  --mm-ease: cubic-bezier(.2,.8,.2,1);
}

/* =========================================================
   HERO + VIDEO (centered window; video can scale up)
   ========================================================= */
.js-hero{
  position: relative !important;
  height: 80vh !important;
  min-height: 80vh !important;
  overflow: visible !important;
  isolation: isolate !important;
  z-index: 10 !important;
}

/* The “window” that grows via --hero-gutter (GSAP/JS) */
.js-hero .js-hero-media{
  --hero-gutter: 3vw;

  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;

  /* always centered */
  left: 50% !important;
  transform: translateX(-50%) !important;

  width: calc(100vw - (var(--hero-gutter) * 2)) !important;
  height: 100% !important;

  overflow: hidden !important;
  z-index: 0 !important;
  pointer-events: none !important;
  will-change: width;
}

.js-hero .js-hero-media .elementor-widget-html,
.js-hero .js-hero-media .elementor-widget-html .elementor-widget-container{
  height: 100% !important;
}

.js-hero .js-hero-video{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 0 !important;
  pointer-events: none !important;

  /* “120% grow” */
  transform: translateZ(0) scale(var(--hero-video-scale)) !important;
  transform-origin: 50% 50% !important;
  will-change: transform;
}

/* content above video */
.js-hero-content,
.hero-content,
.js-hero-cta{
  position: relative !important;
  z-index: 2 !important;
}

/* On CTA hover, grow the VIDEO (not the window) */
.js-hero .js-hero-cta:hover ~ .js-hero-media .js-hero-video,
.js-hero .js-hero-cta:hover + .js-hero-media .js-hero-video{
  --hero-video-scale: 1.2;
}

/* optional JS hook */
.js-hero.is-grow{ --hero-video-scale: 1.2; }

@media (max-width: 767px){
  .js-hero .js-hero-media{
    --hero-gutter: 0px;
    width: 100vw !important;
  }
  .js-hero{ height: 70vh !important; min-height: 70vh !important; }
}

/* =========================================================
   BADGE (overlaps hero bottom)
   ========================================================= */
.badge-wrap{
  position: absolute !important;
  left: var(--badge-left) !important;
  bottom: var(--badge-overlap) !important;
  width: var(--badge-size) !important;
  height: var(--badge-size) !important;
  transform: translateX(-50%) !important;
  z-index: 30 !important;
  pointer-events: none !important;
}
.badge-wrap .badge-ring,
.badge-wrap .badge-center{
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
}
.badge-wrap .badge-ring{ width: var(--badge-size) !important; height: var(--badge-size) !important; }
.badge-wrap .badge-center{ width: var(--badge-center-size) !important; height: auto !important; }
.badge-wrap img{ display:block !important; width:100% !important; height:auto !important; }

.after-hero{
  position: relative !important;
  z-index: 1 !important;
  padding-top: max(120px, calc(var(--badge-size) * 0.5)) !important;
}

.js-hero + .e-con,
.js-hero + .elementor-element{
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 767px){
  .badge-wrap{
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  .mobile-hero-btn{
      position: relative;
      top:-120px;
  }
    :root{
    --badge-size: 150px;          /* was 240px */
    --badge-center-size: 84px;    /* was 110px */
    --badge-overlap: calc(var(--badge-size) * -0.42); /* optional: less overlap */
  }
}
}

/* =========================================================
   REVEAL TITLE (safe)
   ========================================================= */
.reveal-title,
.reveal-title .elementor-heading-title{ display:block; }

.reveal-title .elementor-heading-title{
  opacity: 1 !important;
  visibility: visible !important;
}
.reveal-title .elementor-heading-title .line{ display:inline-block; }
.reveal-title .elementor-heading-title .word{
  display:inline-block;
  opacity:0;
  transform: translateY(0.65em);
  filter: blur(6px);
  will-change: transform, opacity, filter;
}
.reveal-title .elementor-heading-title.is-on .word,
.elementor-heading-title.reveal-title.is-on .word{
  opacity:1;
  transform: translateY(0);
  filter: blur(0);
  transition:
    opacity 700ms cubic-bezier(.2,.8,.2,1),
    transform 700ms cubic-bezier(.2,.8,.2,1),
    filter 700ms cubic-bezier(.2,.8,.2,1);
  transition-delay: calc(var(--i) * 55ms);
}

/* =========================================================
   STRAKK-STYLE CONTAINER INTRO
   ========================================================= */
.reveal-block{
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(26px) scale(0.985);
  filter: blur(10px);
  transition:
    opacity .7s ease,
    transform 1.1s cubic-bezier(.2,.8,.2,1),
    filter 1.1s cubic-bezier(.2,.8,.2,1);
  will-change: transform, opacity, filter;
}
.reveal-block::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.18);
  transform: translateY(0%);
  transition: transform 1.05s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  z-index: 2;
}
.reveal-block::after{
  content:"";
  position:absolute;
  inset:-20%;
  background: linear-gradient(120deg,
    transparent 0%,
    rgba(255,255,255,.28) 35%,
    transparent 70%
  );
  transform: translateX(-140%) rotate(6deg);
  opacity: 0;
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1), opacity .5s ease;
  pointer-events:none;
  z-index: 3;
}
.reveal-block.is-on{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.reveal-block.is-on::before{ transform: translateY(105%); }
.reveal-block.is-on::after{
  opacity: 1;
  transform: translateX(140%) rotate(6deg);
}

/* =========================================================
   PILL REVEAL
   ========================================================= */
.pill-reveal .elementor-heading-title{
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  vertical-align: top;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .6s ease, transform .9s cubic-bezier(.2,.8,.2,1);
}
.pill-reveal .elementor-heading-title::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 999px;
  pointer-events:none;
  border: 2px solid currentColor;
  opacity: .9;
  clip-path: inset(0 100% 0 0 round 999px);
  transition: clip-path 1.1s cubic-bezier(.2,.8,.2,1);
}
.pill-reveal .elementor-heading-title::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  pointer-events:none;
  background: linear-gradient(120deg,
    transparent 0%,
    rgba(255,255,255,.35) 35%,
    transparent 70%
  );
  transform: translateX(-120%);
  opacity: 0;
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1), opacity .6s ease;
}
.pill-reveal.is-on .elementor-heading-title{
  opacity: 1;
  transform: translateY(0);
}
.pill-reveal.is-on .elementor-heading-title::before{
  clip-path: inset(0 0 0 0 round 999px);
}
.pill-reveal.is-on .elementor-heading-title::after{
  opacity: .8;
  transform: translateX(120%);
}

/* =========================================================
   GM MODAL — STRAKK-STYLE
   ========================================================= */
.gm-modal{
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;
  isolation: isolate;
  background: transparent;
}
.gm-modal.is-open{ display:block; }

#gmBg.gm-bg{
  position:absolute;
  inset:0;
  z-index: 0;
  pointer-events:none;
  background-image: var(--gm-bg-url, none) !important;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.04);
  filter: brightness(.90) saturate(1.05);
  opacity: 1;
}

.gm-backdrop{
  position:absolute;
  inset:0;
  z-index: 1;
  background: rgba(0,0,0,.40);
}
.gm-leftfade{
  position:absolute;
  inset:0;
  z-index: 2;
  pointer-events:none;
  background: linear-gradient(90deg,
    rgba(0,0,0,.62) 0%,
    rgba(0,0,0,.40) 22%,
    rgba(0,0,0,.16) 52%,
    rgba(0,0,0,0) 78%
  );
}
.gm-bottombar{
  position:absolute;
  left:0; right:0; bottom:0;
  height: 26vh;
  z-index: 2;
  pointer-events:none;
  background: linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.30) 30%,
    rgba(0,0,0,.50) 100%
  );
}

.gm-stage{
  position:absolute;
  inset:0;
  z-index: 3;
  display:grid;
  place-items:center;
}
.gm-panel{
  width: min(78vw, 1120px);
  height: min(78vh, 760px);
  position: relative;
}

.gm-media{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index: 4;
}
#gmImg{
  width: min(56vw, 760px);
  max-width: 100%;
  height: auto;
  max-height: 72vh;
  display:block;
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  will-change: transform, opacity;
}

.gm-cap{
  position:absolute;
  top: 30px;
  left: 34px;
  z-index: 6;
  font-family: "stolzl", sans-serif !important;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  opacity: .95;
  pointer-events:none;
}

.gm-titleblock{
  position:absolute;
  left: 20px;
  bottom: 20px;
  z-index: 6;
  color: #fff;
}
#gmTitle{
  font-family: meno-banner, serif !important;
  letter-spacing: .02em;
  font-size: 1.5rem;
}
#gmSub{
  font-family: "stolzl", sans-serif !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .75;
  font-size: 0.7rem;
}

.gm-controls{
  position:absolute;
  right: 20px;
  bottom: 20px;
  z-index: 6;
  display:flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  color:#fff;
  user-select:none;
}
#gmCount{
  font-family: meno-banner, serif !important;
  letter-spacing: .02em;
  opacity: .90;
  font-size: 1.8rem;
  line-height: 1;
  display:block;
}

/* reset buttons */
.gm-close,
.gm-arrows .gm-btn{
  -webkit-appearance:none;
  appearance:none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow:none;
  cursor:pointer;
  color: inherit;
  font: inherit;
}

/* close pill */
.gm-close{
  position:absolute;
  top: var(--gm-pad);
  right: var(--gm-pad);
  z-index: 7;
  width: 86px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: transparent;
  display:grid;
  place-items:center;
  color: transparent !important;
  text-shadow: 0 var(--gm-x-nudge-y) 0 rgba(255,255,255,.92);
  font-size: 24px;
  line-height: 1;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, backdrop-filter .2s ease;
}
.gm-close:hover,
.gm-close:focus-visible{
  background: var(--gm-ui-bg-hover);
  border-color: var(--gm-ui-border-hover);
  box-shadow: var(--gm-ui-shadow-hover);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  outline:none;
}
.gm-close:active{ transform: translateY(1px); }

.gm-arrows{
  display:flex;
  align-items:center;
  gap: 14px;
}
.gm-arrows .gm-btn{
  position: relative;
  width: 76px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: transparent;
  overflow: hidden;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, backdrop-filter .2s ease, transform .2s ease;
}
.gm-arrows .gm-btn svg{ display:none !important; }

#gmPrev.gm-btn::after,
#gmNext.gm-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size: 34px auto;
  opacity: .95;
}
#gmPrev.gm-btn::after{
  background-image: url("https://cetri.gt/wp-content/uploads/2026/02/CETRI-Gal-Left.png");
}
#gmNext.gm-btn::after{
  background-image: url("https://cetri.gt/wp-content/uploads/2026/02/CETRI-Gal-Right.png");
}
.gm-arrows .gm-btn:hover,
.gm-arrows .gm-btn:focus-visible{
  background: var(--gm-ui-bg-hover);
  border-color: var(--gm-ui-border-hover);
  box-shadow: var(--gm-ui-shadow-hover);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  outline:none;
}
.gm-arrows .gm-btn:active{ transform: translateY(1px); }

/* GM MOBILE reorder (final working version: close pinned top-right) */
@media (max-width: 767px){
  .gm-panel{
    width: 92vw;
    height: 86vh;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas:
      "title"
      "media"
      "cap"
      "controls";
    gap: 18px;
    padding: 0;
    box-sizing: border-box;
    overflow: visible !important;
  }

  .gm-titleblock{
    grid-area: title;
    position: static;
    text-align: center;
    justify-self: center;
    padding-top: 40px;
  }
  #gmTitle{ font-size: 2.2rem; }
  #gmSub{ font-size: .75rem; }

  .gm-media{
    grid-area: media;
    position: relative;
    inset: auto;
    display:grid;
    place-items:center;
  }
  #gmImg{
    width: 100%;
    max-width: 92vw;
    max-height: 56vh;
  }

  .gm-cap{
    grid-area: cap;
    position: static;
    text-align: center;
    justify-self: center;
  }

  .gm-controls{
    grid-area: controls;
    position: static;
    align-items: center;
    justify-self: center;
  }

  .gm-close{
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 999 !important;
    display:grid !important;
    place-items:center !important;
    pointer-events:auto !important;
  }

  .gm-leftfade,
  .gm-bottombar,
  .gm-bg{
    pointer-events: none !important;
  }

  .gm-bottombar{ height: 34vh; }
}

/* =========================================================
   MODELOS (Advanced) — base section styles
   ========================================================= */
.modelos-adv{ padding: 60px 0; }

.modelos-tabs-adv{
  display:flex;
  gap:18px;
  justify-content:center;
  align-items:center;
  margin-bottom: 36px;
}

.modelos-pill{
  appearance:none;
  -webkit-appearance:none;
  border-radius:999px;
  border: 1px solid rgba(90,80,70,.35);
  background: transparent;
  padding: 10px 22px;
  cursor:pointer;
  font-family: meno-banner, serif;
  font-size: 18px;
  color: rgba(70,60,50,.85);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.modelos-pill.is-active{
  background: rgba(120,110,95,.9);
  color: rgba(255,255,255,.92);
  border-color: transparent;
}

.modelos-grid-adv{
  display:grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 70px;
  align-items:center;
  width:min(1200px, 92vw);
  margin: 0 auto;
}

.plan-stage{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  min-height: 420px;
  display:grid;
  place-items:center;
}

/* no blurred background */
.plan-bg{ display:none !important; }

.plan-img{
  position:relative;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  box-shadow: 0 25px 70px rgba(0,0,0,.18);
}

.modelos-right-adv #m2Value{
  font-family: meno-banner, serif;
  font-size: clamp(48px, 5vw, 86px);
  letter-spacing: .01em;
  margin: 0 0 18px 0;
  color: #6b3a3a;
}
.modelos-desc{
  font-family: Inter, system-ui, sans-serif;
  color: rgba(70,60,50,.75);
  line-height: 1.6;
  margin: 0 0 18px 0;
}
.modelos-bullets{
  list-style:none;
  padding:0;
  margin: 0 0 28px 0;
}
.modelos-bullets li{
  padding: 12px 0;
  border-top: 1px solid rgba(90,80,70,.18);
  font-family: Inter, system-ui, sans-serif;
  color: rgba(70,60,50,.75);
  font-size: 14px;
  letter-spacing: .02em;
}
.modelos-bullets li:last-child{
  border-bottom: 1px solid rgba(90,80,70,.18);
}
.modelos-cta-btn{
  border-radius: 999px;
  padding: 14px 26px;
}

@media (max-width: 820px){
  .modelos-grid-adv{
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .plan-stage{ min-height: 300px; }
}

/* =========================================================
   MODELOS MODAL — CLEAN SINGLE SOURCE OF TRUTH
   (scoped to #modelosModal so it won't change anything else)
   ========================================================= */

/* overlay container */
#modelosModal.mm-modal{
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important; /* under gm */
  isolation: isolate !important;

  place-items: center !important;
  padding: 6vh 4vw !important;
  box-sizing: border-box !important;

  opacity: 0 !important;
  pointer-events: none !important;
}

/* OPEN */
#modelosModal.mm-modal.is-open{
  display: grid !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* CLOSING (keeps display for anim out) */
#modelosModal.mm-modal.is-closing{
  display: grid !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* backdrop */
#modelosModal.mm-modal::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(244, 237, 227, 0.8) !important;

  opacity: 0;
  transition: opacity var(--mm-dur-in) var(--mm-ease);
}
#modelosModal.mm-modal.is-open::before{ opacity: 1; }
#modelosModal.mm-modal.is-closing::before{
  opacity: 0;
  transition-duration: var(--mm-dur-out);
}

/* panel */
#modelosModal.mm-modal > .e-con-inner{
  position: relative !important;
  z-index: 2 !important;

  width: min(1200px, 92vw) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 88vh !important;
  overflow: auto !important;

  margin: 0 !important;
  padding: 42px 36px !important;

  border-radius: 24px !important;
  background: rgba(245, 240, 232, .94) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 30px 90px rgba(0,0,0,.35) !important;

  opacity: 0;
  transform: translateY(22px) scale(.98);
  transition:
    opacity var(--mm-dur-in) var(--mm-ease),
    transform var(--mm-dur-in) var(--mm-ease);
  will-change: opacity, transform;
}
#modelosModal.mm-modal.is-open > .e-con-inner{
  opacity: 1;
  transform: translateY(0) scale(1);
}
#modelosModal.mm-modal.is-closing > .e-con-inner{
  opacity: 0;
  transform: translateY(26px) scale(.98);
  transition-duration: var(--mm-dur-out);
}

/* show in Elementor editor so you can edit it */
body.elementor-editor-active #modelosModal.mm-modal{
  position: relative !important;
  inset: auto !important;
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  padding: 0 !important;
}
body.elementor-editor-active #modelosModal.mm-modal::before{ display:none !important; }
body.elementor-editor-active #modelosModal.mm-modal > .e-con-inner{
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  max-height: none !important;
}

/* close button */
#modelosModal .mm-close{
  position:absolute !important;
  top: 18px !important;
  right: 18px !important;
  left: auto !important;

  width: 86px !important;
  height: 46px !important;
  border-radius: 999px !important;

  border: 1px solid rgba(0,0,0,.14) !important;
  background: rgba(255,255,255,.28) !important;

  display:grid !important;
  place-items:center !important;

  font-size: 22px !important;
  line-height: 1 !important;
  color: rgba(0,0,0,.75) !important;

  cursor:pointer !important;
  z-index: 10 !important;
  padding: 0;
}
#modelosModal .mm-close:hover{
  background: rgba(255,255,255,.40) !important;
}

/* make the section not add extra padding inside modal */
#modelosModal .modelos-adv{ padding: 0 !important; }

/* Pills: align like reference on desktop */
#modelosModal .modelos-tabs-adv{
  justify-content: flex-start !important;
  gap: 18px !important;
  margin-bottom: 34px !important;
}

/* Grid spacing */
#modelosModal .modelos-grid-adv{
  width: 100% !important;
  margin: 0 !important;
  gap: 64px !important;
  grid-template-columns: 1.25fr .85fr !important;
  align-items: start !important;
}

/* remove bg card behind plan */
#modelosModal .plan-bg{ display:none !important; }
#modelosModal .plan-stage{
  min-height: unset !important;
  aspect-ratio: auto !important;
  display: block !important;
}
#modelosModal .plan-img{
  width: 100% !important;
  max-height: none !important;
  height: auto !important;
  object-fit: contain !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Active pill — bulletproof inside modal only */
#modelosModal .modelos-pill{
  background: transparent !important;
  border-color: rgba(90,80,70,.25) !important;
  color: rgba(70,60,50,.75) !important;
}
#modelosModal .modelos-pill.is-active,
#modelosModal .modelos-pill[aria-selected="true"]{
  background: #7b776c !important;
  border-color: transparent !important;
  color: rgba(255,255,255,.92) !important;
}

/* Force Stolzl on copy inside modal */
#modelosModal .modelos-desc,
#modelosModal .modelos-bullets,
#modelosModal .modelos-bullets li,
#modelosModal .modelos-cta-btn,
#modelosModal .modelos-cta-btn .elementor-button-text{
  font-family: "stolzl", sans-serif !important;
}
#modelosModal .modelos-bullets li{
  font-weight: 400 !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* CTA button */
#modelosModal .modelos-cta-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;

  padding: 15px 30px !important;
  border-radius: 999px !important;

  background: #72383D !important;
  border: 0 !important;

  text-decoration: none !important;
  box-shadow: none !important;
}
#modelosModal .modelos-cta-btn .elementor-button-text{
  font-family: "stolzl", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.95) !important;
  line-height: 1 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
}
#modelosModal .modelos-cta-btn .elementor-button-text::after{
  content: "" !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-block !important;
  background: url("/wp-content/uploads/2026/02/CETRI-arrow.svg") no-repeat center / contain !important;
  filter: brightness(0) invert(1) opacity(.92) !important;
}
#modelosModal .modelos-cta-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}
#modelosModal .modelos-cta-btn:active{
  transform: translateY(0px);
}

/* mobile */
@media (max-width: 820px){
  #modelosModal.mm-modal{ padding: 4vh 3vw !important; }
  #modelosModal.mm-modal > .e-con-inner{
    padding: 26px 18px !important;
    max-height: 90vh !important;
  }
  #modelosModal .modelos-grid-adv{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  #modelosModal .modelos-tabs-adv{
    justify-content: center !important;
  }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  #modelosModal.mm-modal::before,
  #modelosModal.mm-modal > .e-con-inner{
    transition: none !important;
  }
  #modelosModal.mm-modal > .e-con-inner{
    transform: none !important;
  }
}
/* =========================
   MODELOS MODAL — 1000ms IN/OUT
   ========================= */
:root{
  --mm-dur-in: 1000ms;
  --mm-dur-out: 1000ms;
  --mm-ease: cubic-bezier(.2,.8,.2,1);
}

.mm-modal::before{
  transition: opacity var(--mm-dur-in) var(--mm-ease) !important;
}

.mm-modal .e-con-inner{
  transition:
    opacity var(--mm-dur-in) var(--mm-ease),
    transform var(--mm-dur-in) var(--mm-ease) !important;
}

.mm-modal.is-closing::before{
  transition-duration: var(--mm-dur-out) !important;
}

.mm-modal.is-closing .e-con-inner{
  transition-duration: var(--mm-dur-out) !important;
}

/* =========================
   MODELOS MODAL — MOBILE LAYOUT (like screenshot)
   ========================= */
@media (max-width: 820px){

  /* panel spacing */
  #modelosModal.mm-modal .e-con-inner{
    width: 96vw !important;
    padding: 22px 18px !important;
    max-height: 92vh !important;
    overflow: auto !important;
    border-radius: 22px !important;
  }

  /* tabs: stay at top */
  #modelosModal .modelos-tabs-adv{
    justify-content: flex-start !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
  }

  /* make pills smaller */
  #modelosModal .modelos-pill{
    padding: 9px 14px !important;
    font-size: 13px !important;
    letter-spacing: .06em !important;
  }

  /* main grid becomes 1 column */
  #modelosModal .modelos-grid-adv{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: start !important;
  }

  /* plan image becomes full width, no max height */
  #modelosModal .plan-stage{
    display: block !important;
  }
  #modelosModal .plan-img{
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    box-shadow: none !important;
  }

  /* right column becomes stacked under plan */
  #modelosModal .modelos-right-adv{
    padding: 0 20px 0 !important;
  }

  /* m2 value + CTA align like screenshot */
  #modelosModal #m2Value{
    font-size: 52px !important;
    margin: 6px 0 10px 0 !important;
  }

  /* make CTA sit near value */
  #modelosModal .modelos-cta{
    margin: 12px 0 16px 0 !important;
  }
  #modelosModal .modelos-cta-btn{
    width: auto !important;
    padding: 14px 22px !important;
  }

  /* bullets become compact */
  #modelosModal .modelos-bullets li{
    padding: 10px 0 !important;
  }

  /* optional: reduce description spacing */
  #modelosModal .modelos-desc{
    margin: 0 0 14px 0 !important;
  }
}
/* MOBILE gallery inside modelos modal */
#modelosModal .mm-mobile-gallery{
  display: none;
}

@media (max-width: 820px){
  /* show only on mobile */
  #modelosModal .mm-mobile-gallery{
    display: grid;
    gap: 22px;
    margin-top: 18px;
  }

  #modelosModal .mm-mobile-gallery .mm-shot{
    margin: 0;
  }

  #modelosModal .mm-mobile-gallery img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;
  }

  #modelosModal .mm-mobile-gallery .mm-caption{
    margin-top: 14px;
    text-align: center;
    font-family: "stolzl", sans-serif !important;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(70,60,50,.45);
  }
}
/* =========================
   MODELOS MODAL — Mobile layout tweaks
   ========================= */
@media (max-width: 767px){

  /* tighter panel padding so pills match reference */
  #modelosModal.mm-modal .e-con-inner{
    padding: 18px 14px !important;
  }

  /* pills: tighter + wrap nicely + closer to reference */
  #modelosModal .modelos-tabs-adv{
    gap: 10px !important;
    margin-bottom: 14px !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
}
  #modelosModal .modelos-pill{
    padding: 10px 14px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  /* make the plan feel like the reference: big + vertical */
  #modelosModal .plan-stage{
    display: grid !important;
    place-items: center !important;
    margin: 6px 0 10px !important;
  }

  /* rotate only on mobile */
  #modelosModal .plan-img{
    transform: rotate(-90deg) !important;
    transform-origin: center center !important;

    /* after rotate: we must constrain by viewport */
    width: auto !important;
    height: auto !important;
    max-height: 48vh !important;
    max-width: 88vw !important;

    box-shadow: none !important;
  }

  /* keep the right column text compact on mobile */
  #modelosModal #m2Value{
    margin-top: 6px !important;
  }

  /* button spacing when moved above list */
  #modelosModal .modelos-cta{
    margin: 10px 0 14px !important;
  }
}




@media (max-width: 767px){
  /* Move + shrink close button so it doesn't cover the tabs */
  #modelosModal .mm-close{
    top: 0px !important;
    right: 0px !important;

    width: 30px !important;
    height: 30px !important;

    border-radius: 999px !important;
    transform: none !important;
  }

  /* Make the X look centered + a bit smaller */
  #modelosModal .mm-close svg,
  #modelosModal .mm-close i,
  #modelosModal .mm-close{
    font-size: 18px !important;
    line-height: 1 !important;
  }

  /* Optional: give the pills a little more room on the right */
  #modelosModal .modelos-tabs-adv{
    padding: 30px 0 0 0!important; /* space reserved for close */
  }
  #modelosModal .modelos-cta-btn .elementor-button-text::after {
	width: 18px !important;
}
#modelosModal .modelos-cta-btn .elementor-button-text {
  font-family: "stolzl", sans-serif !important;
  font-size: 9px !important;
}
#modelosModal .modelos-right-adv
    padding-left: 20px;
  }
  #modelosModal .modelos-bullets{
      padding: 0;
  }
  
}



/* Fluid title (targets the real heading element inside the widget) */
.cetri-ttl .elementor-heading-title{
  font-size: clamp(30px, 4.6vw, 78px) !important;
  line-height: 1.06 !important;
}

/* If you want it a bit tighter on mobile */
@media (max-width: 767px){
  .cetri-ttl .elementor-heading-title{
    font-size: clamp(34px, 7.6vw, 48px) !important;
  }
}




/* Mobile arrow hint (3s wait → show → 3s wait, loop) */
@media (max-width: 767px){

  /* anchor to the modal panel */
  #modelosModal .e-con-inner{
    position: relative;
  }

  /* if you used the JS "mm-arrow" restart trick, keep this body.elementor-page-2014.
     If not, remove .mm-arrow from the body.elementor-page-2014. */
  #modelosModal .e-con-inner.mm-arrow::after{
    content: "↓";
    position: absolute;
    right: 18px;
    bottom: 16vw;
    z-index: 50;

    font-size: 28px;
    line-height: 1;
    pointer-events: none;

    opacity: 0;
    transform: translateY(0);

    animation: cetriArrow6s 6s linear infinite;
    will-change: opacity, transform;
  }

  @keyframes cetriArrow6s{
    /* 0–3s hidden */
    0%,
    49.9% { opacity: 0; transform: translateY(0); }

    /* ~3.0s fade in */
    50%   { opacity: .0; transform: translateY(0); }
    58%   { opacity: .65; transform: translateY(0); }

    /* quick pulse */
    66%   { opacity: .95; transform: translateY(-6px); }
    74%   { opacity: .65; transform: translateY(0); }

    /* fade out, then remain hidden until loop restarts */
    82%,
    100%  { opacity: 0; transform: translateY(0); }
  }

  @media (prefers-reduced-motion: reduce){
    #modelosModal .e-con-inner.mm-arrow::after{
      animation: none !important;
      opacity: 0 !important;
    }
  }
}

.elementor-background-video-container,
.elementor-background-video-hosted{
  pointer-events: none;
}/* End custom CSS */