/* ContrasteLab V153 — no JS animation required to reveal any content. */
html.cl-stable-ui{scroll-behavior:auto!important}
html.cl-stable-ui *,html.cl-stable-ui *::before,html.cl-stable-ui *::after{
  animation:none!important;animation-duration:0s!important;animation-delay:0s!important;
  scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;
}
html.cl-stable-ui .wow,html.cl-stable-ui .fadeInUp,html.cl-stable-ui .fadeInDown,
html.cl-stable-ui .tx-subTitle,html.cl-stable-ui .tz-itm-anim,html.cl-stable-ui .tz-sub-anim,
html.cl-stable-ui [data-aos],html.cl-stable-ui .animated{
  opacity:1!important;visibility:visible!important;filter:none!important;
}
html.cl-stable-ui .wow,html.cl-stable-ui .fadeInUp,html.cl-stable-ui .fadeInDown{
  translate:none!important; transform:none!important;
}
/* One predictable header: the already duplicated sticky clone never appears. */
html.cl-stable-ui .cl-header .sticky-header{display:none!important}
html.cl-stable-ui .main-header{position:fixed!important;inset:0 0 auto!important;z-index:99990!important;width:100%;background:transparent!important}
html.cl-stable-ui .main-header .header-lower{position:relative!important}
/* Keep portfolio fallback visible until an actual visitor explicitly requests the external iframe. */
html.cl-stable-ui #proyectos iframe:not(.cl153-live){display:none!important}
html.cl-stable-ui #proyectos [data-cl29-live-activate].is-hidden{display:none!important}
html.cl-stable-ui #proyectos [data-cl29-live-activate]:not(.is-hidden){pointer-events:auto!important}
html.cl-stable-ui .cl29-is-switching .cl29-frame-loader{opacity:0!important;pointer-events:none!important}
/* Content must never disappear when WOW / GSAP is not present. */
html.cl-stable-ui .cl-showcase,html.cl-stable-ui .cl57-social-stage,
html.cl-stable-ui .cl-auto72-visual,html.cl-stable-ui .cl-about-v14,
html.cl-stable-ui .cl-services,html.cl-stable-ui .cl-journal,
html.cl-stable-ui .cl29-projects,html.cl-stable-ui .cl-faq-v77{
  opacity:1!important;visibility:visible!important
}
/* Stop perpetual motion and expensive compositing of decorative-only elements. */
html.cl-stable-ui .cl-auto72-ambient,html.cl-stable-ui .cl-showcase-halo,
html.cl-stable-ui .cl-ai-dx__spark,html.cl-stable-ui .cl-hero-spark,
html.cl-stable-ui .cl-showcase-capsule{animation:none!important}
html.cl-stable-ui video{animation:none!important}
html.cl-stable-ui body.cl153-modal-open{overflow:hidden!important}
html.cl-stable-ui #cl59MediaStage .cl153-modal-img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;max-height:min(75vh,800px)}
html.cl-stable-ui .cl57-post[hidden]{display:none!important}
html.cl-stable-ui .faq-block-one .content-box[hidden]{display:none!important}
html.cl-stable-ui .faq-block-one.active .content-box{display:block!important}
html.cl-stable-ui .cl57-modal.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
html.cl-stable-ui .cl57-modal:not(.is-open){display:none!important}
html.cl-stable-ui .back-to-top{display:none!important}
html.cl-stable-ui .back-to-top.cl153-back-visible{display:flex!important;align-items:center;justify-content:center}
@media (max-width:767px){html.cl-stable-ui .cl-header .main-box{max-width:calc(100vw - 24px)!important}}

/* Stable typography on every page. Avoid third-party font swaps and layout reflow. */
html.cl-stable-ui{--heading-font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--body-font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html.cl-stable-ui body{font-family:var(--body-font-family)!important}
html.cl-stable-ui :is(h1,h2,h3,h4,h5,h6){font-family:var(--heading-font-family)!important}
/* Keep Mini Bot visible on phones without covering half the viewport. */
html.cl-stable-ui body.cl-minibot-open #clMinibotLauncherWrap{display:none!important}
@media(max-width:767.98px){
 html.cl-stable-ui .cl-minibot-launcher-wrap{right:12px!important;bottom:max(16px,env(safe-area-inset-bottom))!important;gap:0!important}
 html.cl-stable-ui .cl-minibot-launcher__copy{display:none!important;width:0!important;min-width:0!important;padding:0!important}
 html.cl-stable-ui .cl-minibot-launcher{gap:0!important}
 html.cl-stable-ui .cl-minibot-launcher__orb{width:64px!important;height:64px!important;flex:0 0 64px!important}
 html.cl-stable-ui .cl-minibot-launcher__orb img{width:61px!important;height:61px!important}
 html.cl-stable-ui .cl-minibot-launcher__bubble{display:none!important}
 html.cl-stable-ui .cl-minibot-launcher__dismiss{position:absolute!important;top:-8px!important;right:-8px!important;width:24px!important;height:24px!important;font-size:14px!important;opacity:1!important;z-index:2!important}
}

/* V154: the fullscreen diagnosis must always be above the single fixed header. */
html.cl-stable-ui body.cl-minibot-open .main-header{z-index:1!important;pointer-events:none!important}
html.cl-stable-ui body.cl-minibot-open>.cl-ai-dx.is-fullscreen{position:fixed!important;z-index:120000!important;inset:0!important;width:100vw!important;height:100dvh!important;overflow-y:auto!important;visibility:visible!important;opacity:1!important}
html.cl-stable-ui body.cl-minibot-open>.cl-ai-dx.is-fullscreen .cl-ai-dx__fullscreen-close{z-index:120010!important;display:flex!important}
