:root{--p-max:1400px;--p-copy:760px;--p-gap:24px;--p-section:92px;--p-radius:16px;--p-radius-lg:22px;--p-ink:#121a20;--p-muted:#65717a;--p-line:#e4e9ed;--p-soft:#f6f8f8;--p-green:#58b947}*{box-sizing:border-box}html{font-size:16px}body{font-size:16px!important;line-height:1.62!important;letter-spacing:0}img,svg,video{max-width:100%}.wrap{width:min(var(--p-max),calc(100% - 64px))!important;margin-inline:auto!important}h1,h2,h3,h4,h5,p{margin-top:0}h1,h2,h3{font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif!important;text-wrap:balance}h2{font-size:clamp(34px,3.25vw,50px)!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:650!important}h3{font-size:21px!important;line-height:1.25!important;letter-spacing:-.018em!important;font-weight:680!important}h4{font-size:15px!important;line-height:1.35!important;font-weight:750!important}li,p{font-size:16px;line-height:1.68}.lead{font-size:18px!important;line-height:1.62!important;max-width:var(--p-copy)}.eyebrow{font-size:12px!important;line-height:1.3!important;letter-spacing:.14em!important;font-weight:800!important;margin-bottom:14px!important}.breadcrumb{font-size:13px!important;line-height:1.4!important}.enterprise-nav .wrap{min-height:72px!important;display:flex;align-items:center!important}.enterprise-menu,.enterprise-menu>li,.mega-trigger{align-items:center!important}.enterprise-menu>a,.mega-trigger>a{font-size:13.5px!important;line-height:1.2!important}.enterprise-nav .btn.small{font-size:13.5px!important;padding:11px 17px!important}.enterprise-hero,.hero.service-hero,.master-hero,.uc-hero{min-height:520px!important;padding:84px 0 76px!important;display:flex!important;align-items:center!important}.master-hero{min-height:650px!important;padding:96px 0 88px!important}.article-page .hero.service-hero,.knowledge-page .hero.service-hero{min-height:455px!important;padding:74px 0 66px!important}.enterprise-hero-grid,.hero-grid,.master-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(280px,.62fr)!important;gap:68px!important;align-items:center!important}.enterprise-hero h1,.hero h1,.service-hero h1,.uc-hero h1,.v22-hero h1{font-size:clamp(43px,4.5vw,68px)!important;line-height:1.035!important;letter-spacing:-.044em!important;font-weight:650!important;margin:10px 0 22px!important;max-width:820px!important}.article-page .hero h1,.knowledge-page .hero h1{font-size:clamp(39px,4vw,58px)!important}.enterprise-hero p,.hero p,.service-hero p,.uc-hero p,.v22-hero p{font-size:17.5px!important;line-height:1.62!important;max-width:720px!important}.hero-actions{margin-top:28px!important;gap:12px!important}.human-proof,.master-proof{margin-top:26px!important}.master-hero-panel,.side-card,.trust-status-card{padding:26px!important;border-radius:var(--p-radius)!important}.article-section,.dc-architecture,.enterprise-section,.kp-search-section,.master-section,.operating-layer,.section,.uc-section{padding-top:var(--p-section)!important;padding-bottom:var(--p-section)!important}.article-section>.wrap,.dc-architecture>.wrap,.enterprise-section>.wrap,.kp-search-section>.wrap,.master-section>.wrap,.operating-layer>.wrap,.section>.wrap,.uc-section>.wrap{width:min(var(--p-max),calc(100% - 64px))!important;margin-inline:auto!important}.enterprise-heading,.master-heading,.section-head,.uc-heading{max-width:820px!important;margin:0 0 42px!important}.enterprise-heading.center,.master-heading.center,.section-head.center,.uc-heading.center{margin-left:auto!important;margin-right:auto!important;text-align:center!important}.enterprise-heading h2,.master-heading h2,.section-head h2,.uc-heading h2{margin-bottom:28px!important}.enterprise-heading p,.master-heading p,.section-head p,.uc-heading p{font-size:17px!important;line-height:1.62!important;margin-bottom:0!important;max-width:760px}.article-layout,.case-columns,.cloud-grid,.split,.trust-two{column-gap:58px!important;row-gap:34px!important;align-items:center!important}.article-layout>*,.case-columns>*,.cloud-grid>*,.split>*,.trust-two>*{min-width:0!important}.case-columns img,.cloud-grid img,.editorial-photo img,.photo-landing img,.split img,.trust-two img{width:100%!important;display:block!important;object-fit:cover!important}.editorial-photo,.photo-landing,.scene{border-radius:var(--p-radius)!important;overflow:hidden!important}.ecosystem-grid,.grid,.managed-grid,.promise-grid,.real-grid,.solution-strip{align-items:stretch!important}.ecosystem-grid>*,.grid>*,.managed-grid>*,.promise-grid>*,.real-grid>*,.solution-strip>*{min-width:0!important;height:100%!important}.grid.three,.managed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ecosystem-grid,.grid,.managed-grid,.promise-grid,.real-grid{gap:22px!important}.benefit-card,.card,.ecosystem-card,.enterprise-card,.feature-card,.incident-card,.knowledge-card,.kp-card,.managed-card,.ownership-card,.portal-card,.problem-card,.promise,.resource-card,.sector-feature,.situation-card{padding:26px!important;border-radius:var(--p-radius)!important}.benefit-card h3,.card h3,.ecosystem-card h3,.enterprise-card h3,.feature-card h3,.incident-card h3,.knowledge-card h3,.kp-card h3,.managed-card h3,.portal-card h3,.problem-card h3,.resource-card h3,.situation-card h3{font-size:20px!important;line-height:1.25!important;margin-bottom:10px!important}.benefit-card p,.card p,.ecosystem-card p,.enterprise-card p,.feature-card p,.incident-card p,.knowledge-card p,.kp-card p,.managed-card p,.portal-card p,.problem-card p,.resource-card p,.situation-card p{font-size:15px!important;line-height:1.62!important;margin-bottom:12px!important}.card img,.kp-card img,.real-card img,.resource-card img,.situation-card img{width:100%!important;display:block!important;object-fit:cover!important}.card img,.kp-card img,.resource-card img{aspect-ratio:16/9!important}.card-link{font-size:13.5px!important;line-height:1.35!important}.band-row{align-items:stretch!important;gap:0!important}.band-row>*{min-height:92px!important;padding:18px 24px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.band-row strong,.metric-card strong{font-size:clamp(25px,2.2vw,34px)!important;line-height:1.05!important;letter-spacing:-.025em!important}.band-row small,.band-row span,.metric-card small,.metric-card span{font-size:12.5px!important;line-height:1.45!important}.metric-card{padding:18px 22px!important}.dc-step,.dc-tour-step,.master-process>div,.step,.timeline-event,.uc-flow-step{padding:22px!important}.dc-step h3,.dc-tour-step h3,.master-process h3,.step h3,.timeline-event h3,.uc-flow-step h3{font-size:19px!important;margin-bottom:8px!important}.dc-step p,.dc-tour-step p,.master-process p,.step p,.timeline-event p,.uc-flow-step p{font-size:14.5px!important;line-height:1.58!important}.faq-rich{max-width:900px!important;margin-inline:auto!important}.faq-item{padding:0!important;overflow:hidden!important}.faq-item .question{font-size:16.5px!important;line-height:1.4!important;padding:20px 22px!important}.faq-item .answer{font-size:15px!important;line-height:1.68!important;padding:0 22px 20px!important}.article-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important;align-items:start!important}.article-body{max-width:780px!important;font-size:16.5px!important;line-height:1.76!important}.article-body li,.article-body p{font-size:16.5px!important;line-height:1.76!important}.article-body h2{font-size:clamp(29px,2.7vw,39px)!important;margin:44px 0 16px!important}.article-body h3{font-size:21px!important;margin:30px 0 11px!important}.article-lead{font-size:19px!important;line-height:1.64!important}.article-side{font-size:14px!important;line-height:1.58!important;padding:22px!important}.narrow{width:min(860px,100%)!important;margin-inline:auto!important}.narrow li,.narrow p{font-size:16px!important;line-height:1.72!important}label{font-size:13.5px!important;line-height:1.4!important;font-weight:650!important}input,select,textarea{font-size:15.5px!important;line-height:1.4!important;min-height:48px!important;padding:12px 14px!important}textarea{min-height:138px!important}.master-cta .wrap,.sticky-cta .wrap{align-items:center!important}.master-cta h2{font-size:clamp(34px,3.2vw,48px)!important;line-height:1.08!important;margin-bottom:12px!important}.master-cta p{font-size:16.5px!important;line-height:1.62!important;max-width:740px!important}.footer-enterprise-grid{align-items:start!important;column-gap:36px!important;row-gap:30px!important}.footer-enterprise h4{font-size:13.5px!important;margin-bottom:14px!important}.footer-enterprise a,.footer-enterprise p{font-size:13px!important;line-height:1.55!important}.footer-bottom{font-size:12px!important;line-height:1.45!important}.enterprise-heading[style],.master-heading[style],.section-head[style]{max-width:820px!important}.card[style],.managed-card[style],.resource-card[style]{min-width:0!important}@media(max-width:1050px){.enterprise-hero-grid,.hero-grid,.master-hero-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.5fr)!important;gap:44px!important}.case-columns,.cloud-grid,.split,.trust-two{column-gap:40px!important}.enterprise-menu>a,.mega-trigger>a{font-size:13px!important}}@media(max-width:920px){.article-section>.wrap,.dc-architecture>.wrap,.enterprise-section>.wrap,.kp-search-section>.wrap,.master-section>.wrap,.operating-layer>.wrap,.section>.wrap,.uc-section>.wrap,.wrap{width:calc(100% - 40px)!important}.article-layout,.case-columns,.cloud-grid,.enterprise-hero-grid,.hero-grid,.master-hero-grid,.split,.trust-two{grid-template-columns:1fr!important}.enterprise-hero,.hero.service-hero,.master-hero,.uc-hero{min-height:auto!important;padding:76px 0 66px!important}.grid.three,.managed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.article-body{max-width:none!important}.article-side{position:static!important;max-width:none!important}}@media(max-width:680px){:root{--p-section:62px}.article-section>.wrap,.dc-architecture>.wrap,.enterprise-section>.wrap,.kp-search-section>.wrap,.master-section>.wrap,.operating-layer>.wrap,.section>.wrap,.uc-section>.wrap,.wrap{width:calc(100% - 32px)!important}.enterprise-hero h1,.hero h1,.service-hero h1,.uc-hero h1,.v22-hero h1{font-size:clamp(35px,10vw,48px)!important}.enterprise-hero p,.hero p,.service-hero p,.uc-hero p,.v22-hero p{font-size:16px!important}h2{font-size:clamp(30px,8.5vw,40px)!important}.ecosystem-grid,.grid.three,.grid.two,.managed-grid,.promise-grid,.real-grid{grid-template-columns:1fr!important}.benefit-card,.card,.ecosystem-card,.enterprise-card,.feature-card,.incident-card,.knowledge-card,.kp-card,.managed-card,.ownership-card,.portal-card,.problem-card,.promise,.resource-card,.sector-feature,.situation-card{padding:22px!important}.band-row{display:grid!important;grid-template-columns:1fr 1fr!important}.band-row>*{border-bottom:1px solid var(--p-line)!important}.hero-actions .btn{width:100%!important;text-align:center!important}}@media(max-width:460px){.band-row{grid-template-columns:1fr!important}.footer-enterprise-grid{grid-template-columns:1fr!important}}
/* FIX (sitewide, generic): .band-row{align-items:stretch} above was
   written for stat/metric rows inside the banner (band-row>*), but it
   also stretches the plain CTA .btn to the full row height (~178px on
   many pages) instead of its natural compact size. Pages that already
   have their own body-class-scoped fix (como-trabajamos.html,
   consultoria-tecnologica.html, departamento-it.html) keep winning via
   higher specificity; this generic rule is the default for every page
   that didn't have one yet (confirmed present on aviso-legal.html,
   backup-continuidad.html, biblioteca-incidencias.html, cookies.html,
   privacidad.html, problemas.html, redes-comunicaciones.html,
   situaciones-reales.html — verified via getBoundingClientRect before
   and after). Colors are left untouched; only the stretch is fixed. */
.band-row .btn{
  align-self:flex-end!important;
  min-height:0!important;
  height:auto!important;
  width:auto!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
}

/* FIX (sitewide): rediseño del botón flotante "Hablemos" (.sticky-cta),
   aprobado por Pedro el 24 oct 2026 — ver PROPUESTA-STICKY-CTA.md y
   _preview-sticky-cta.html en la raíz del proyecto (borrables una vez
   validado este cambio en producción).
   - Antes: caja negra (#0c161d) con texto "Hablemos", visible en
     escritorio (redundante con el "Hablemos" del nav, que ya está
     siempre visible) y oculto en el móvil pequeño (styles.css lo
     ocultaba por debajo de 760px) — justo al revés de lo útil, porque
     el móvil es donde el nav está escondido tras el menú hamburguesa.
   - Ahora: burbuja de chat verde, compacta (52px), visible SOLO
     mientras existe el menú de hamburguesa (<=1050px, el mismo
     breakpoint usado para el menú en este sitio — ver entrada 65 de
     LIMPIEZA_PENDIENTE.md), oculta por completo en escritorio.
   - En contacto.html no se muestra en ningún ancho: ya estamos en el
     destino del botón.
   - El HTML de los 31 páginas que llevan este botón se actualizó para
     envolver el icono y el texto en spans propios
     (.sticky-cta-ping/-icon/-label) en vez de solo texto suelto. */
.sticky-cta{
  display:none;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  height:52px !important;
  min-width:52px !important;
  width:auto !important;
  padding:0 !important;
  border-radius:26px !important;
  background:linear-gradient(135deg,#58b947,#7ad158) !important;
  border:0 !important;
  box-shadow:0 10px 26px rgba(88,185,71,.38),0 2px 6px rgba(0,0,0,.08) !important;
  position:fixed !important;
  right:16px !important;
  bottom:20px !important;
  left:auto !important;
  top:auto !important;
  z-index:40;
  transition:min-width .28s cubic-bezier(.4,0,.2,1),padding .28s cubic-bezier(.4,0,.2,1) !important;
}
.sticky-cta-ping{
  position:absolute;
  left:0;
  top:0;
  width:52px;
  height:52px;
  border-radius:50%;
  border:2px solid rgba(88,185,71,.55);
  animation:stickyCtaPing 2.2s cubic-bezier(.3,.6,.4,1) infinite;
  pointer-events:none;
}
@keyframes stickyCtaPing{
  0%{transform:scale(1);opacity:.65}
  80%,100%{transform:scale(1.55);opacity:0}
}
.sticky-cta-icon{
  width:52px;
  height:52px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
}
.sticky-cta-icon svg{
  width:24px;
  height:24px;
  display:block;
}
.sticky-cta-label{
  max-width:0;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  color:#fff;
  font-weight:800;
  font-size:14px;
  transition:max-width .28s cubic-bezier(.4,0,.2,1);
}
.sticky-cta:active{
  transform:scale(.94);
}
@media (hover:hover) and (pointer:fine){
  .sticky-cta:hover{
    min-width:164px !important;
    padding-right:18px !important;
  }
  .sticky-cta:hover .sticky-cta-label{
    max-width:120px;
  }
  .sticky-cta:hover .sticky-cta-ping{
    animation-play-state:paused;
    opacity:0;
  }
}
@media(max-width:1050px){
  .sticky-cta{
    display:flex !important;
  }
}
body.page-contacto .sticky-cta{
  display:none !important;
}
