/* Fuentes subidas al sitio original (Wix "ufonts"), con los nombres que usa su CSS. */
@font-face { font-family: wfont_16a204_3dd9e3a07ad64ad9ac9030070ab38ff7; src: url('/fonts/16a204_3dd9e3a07ad64ad9ac9030070ab38ff7.woff2') format('woff2'); }
@font-face { font-family: wfont_16a204_df86c3af9b01490882d01a95801210cb; src: url('/fonts/16a204_df86c3af9b01490882d01a95801210cb.woff2') format('woff2'); }
@font-face { font-family: wfont_a5e52f_777d4fd96bed4070a7052f2fb5315082; src: url('/fonts/a5e52f_777d4fd96bed4070a7052f2fb5315082.woff2') format('woff2'); }
@font-face { font-family: wfont_a5e52f_1b962350876f474fae1c76dc9b32879f; src: url('/fonts/a5e52f_1b962350876f474fae1c76dc9b32879f.woff2') format('woff2'); }

/* Bloques que Wix genera distinto según el ancho (menú del blog, paginación, galerías): se muestra solo la variante que corresponde. */
.bp { display: contents; }
@media (min-width: 1001px) { .bp:not(.bp-d) { display: none; } }
@media (min-width: 751px) and (max-width: 1000px) { .bp:not(.bp-t) { display: none; } }
@media (max-width: 750px) { .bp:not(.bp-m) { display: none; } }

/* Selector de idioma: la etiqueta ocupa el espacio libre y empuja la flecha a la derecha (como en Wix) */
.drWYz5 .GZ9kig{flex:1 1 auto}

/* Videos de fondo: el póster se desvanece al empezar la reproducción (1,6 s, como en Wix) */
.bgVideoposter,[id$="_img"].bgVideoposter{transition:opacity 1.6s ease-out}
.drWYz5 .clBgzu .YvJYK8{margin:0 14px 0 20px}

/* Quiénes somos: el título "Lo que dice nuestro equipo" alineado a la izquierda, como la galería */
#comp-m9j0z6zs6 .wixui-rich-text__text{text-align:left!important}

/* Testimonios del inicio: el proyecto y el nombre de la persona se quedan visibles mientras suena el video */
#comp-m9vp3rg514 .gallery-item-container:hover .gallery-item-hover-inner,
#comp-m9vp3rg514 .gallery-item-container:hover .info-member{opacity:1!important}

/* Quiénes somos, pantallas anchas: el título y el carrusel del equipo se alinean con el borde del resto de secciones */
@media (min-width: 1920px) {
  #comp-m9j0z6zs6 { position: relative; left: -61px; }
  #comp-ma2pdvul { margin-left: -61px !important; width: calc(100% + 122px) !important; max-width: none !important; }
}

/* Blog: sin autor (avatar y nombre) en posts, listados y entradas relacionadas */
div:has(> a[data-hook="profile-link"]),[data-hook="avatar-image"],[data-hook="user-name"],[data-hook="profile-link"]{display:none!important}
/* Sin autor, el tiempo de lectura queda primero en la cabecera del post: sin punto separador delante */
.NtBDdE > .F56Ope:before{display:none!important}
/* Menú de tres puntos del blog (no tiene acciones) */
.hSZsuG:has(> button[data-hook="more-button"]),button[data-hook="more-button"][aria-label*="acciones"],button[data-hook="more-button"][aria-label*="ctions"]{display:none!important}
/* Marcadores grises de carga de "me gusta"/comentarios (Wix los reemplazaba con datos reales; aquí nunca llegan) */
[data-hook="skeleton-loader"],[data-hook="post-stats"]{display:none!important}

/* Casilla marcada: Wix dibujaba el check con su JS; aquí se pinta con CSS según data-checked */
[data-checked=true] [data-hook=icon-wrapper]{position:relative;background-color:rgb(var(--wix-forms-formLinkColor,249,161,42))!important;border-color:rgb(var(--wix-forms-formLinkColor,249,161,42))!important}
[data-checked=true] [data-hook=icon-wrapper]::after{content:"";position:absolute;left:50%;top:46%;width:30%;height:56%;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}

/* Casilla sin marcar al enviar: recuadro y aviso en rojo */
[data-checkbox-error]{margin:6px 0 0;font:400 14px/1.3 Barlow,Roboto,Arial,sans-serif;color:#d93025}
[data-hook=checkbox-wrapper][data-error=true] [data-hook=icon-wrapper]{border-color:#d93025!important}

/* Botón de sonido del video del inicio: otra capa lo tapaba y no recibía clics */
[data-audio-mute]{z-index:60!important;cursor:pointer}

/* Capas decorativas vacías de Wix (aria-hidden) que quedaban encima de botones y enlaces y les quitaban los clics */
.inner-box[aria-hidden="true"]{pointer-events:none}
/* Inicio: este bloque se solapa con el video y tapaba su botón de sonido; solo reciben clics sus enlaces y botones */
#comp-mhzd56zx{pointer-events:none}
#comp-mhzd56zx :is(a,button,input,textarea,select,[role="button"],[tabindex]){pointer-events:auto}

/* Responsive: correcciones de lo que Wix dejaba mal en pantallas pequeñas */
@media (max-width: 750px) {
  /* Cifras del inicio ("100+"): no se parten en dos líneas */
  [data-count] { white-space: nowrap; }
  /* Testimonios: el texto del hover tenía 30 px de relleno en tarjetas de 95 px y quedaba cortado */
  .gallery-item-hover.fullscreen-enabled { padding: 10px !important; }
  .gallery-item-hover .info-member { font-size: 14px !important; line-height: 1.15 !important; }
  .gallery-item-hover .info-element-text, .gallery-item-hover .info-element-text * { overflow-wrap: anywhere; }
}

/* Suscripción del pie (≤750 px): nombre y email arriba, botón a todo el ancho debajo; antes el botón se cortaba ("Subscribirse") */
@media (max-width: 750px) {
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) { row-gap: 0; }
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(1), #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(2) { grid-column: 1 / 7 !important; padding-right: 6px; }
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(3), #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(4) { grid-column: 7 / -1 !important; }
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(5) { display: none; }
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(6) { grid-column: 1 / -1 !important; grid-row: 3 !important; margin-top: 12px; }
  #form-62f17861-972a-4481-af67-2b14ccd378c4 .GLWhGq:has(button) > :nth-child(6) button { width: 100%; }
}

/* Pantallas pequeñas: el menú del pie no puede ser más ancho que su contenedor (desbordaba 28 px a 320 px en agendar y páginas legales) */
@media (max-width: 750px) {
  nav[id*="_r_comp-lzj224mt"], nav[id*="_r_comp-lzj224mt"] > ul { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
  /* Acordeones de las páginas legales: Wix escalaba el título a 8 px con 320 px de ancho */
  .AccordionContainerHeaderLabel4008190829__root { font-size: max(14px, 2.6vw) !important; }
}

/* Lista del blog en móvil y tablet: Wix calculaba el alto de cada tarjeta con JavaScript; sin él quedaba fijo (51 px en móvil, 155 px en tablet) y el título se cortaba. En escritorio se deja como estaba: la columna de Instagram depende de la altura de la lista */
@media (max-width: 1000px) {
  .pro-gallery:has([data-hook="post-list-item"]),
  .pro-gallery:has([data-hook="post-list-item"]) .pro-gallery-margin-container,
  .pro-gallery:has([data-hook="post-list-item"]) .pro-gallery-parent-container { height: auto !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; overflow: visible !important; margin: 0 0 20px !important; display: flow-root !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-common-info-outer { width: calc(100% - 84px) !important; height: auto !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-common-info { position: relative !important; height: auto !important; width: 100% !important; overflow: visible !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) [data-hook="post-list-item"] > div { padding-left: 14px !important; padding-right: 0 !important; overflow: visible !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) [data-hook="post-list-item"] > div > div { flex-direction: column !important; }
}
/* Tablet: la miniatura escala con la pantalla (~26 % del ancho) */
@media (min-width: 751px) and (max-width: 1000px) {
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-common-info-outer { width: calc(100% - 26.5vw) !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) [data-hook="post-list-item"] > div { padding-left: 36px !important; padding-right: 36px !important; }
}

/* Pódcast del blog en móvil: los nombres del equipo quedaban en 5-9 px sobre la foto */
@media (max-width: 750px) {
  #comp-mah0zpkl .wixui-rich-text__text { font-size: 15px !important; line-height: 1.15 !important; color: #fff !important; text-shadow: 0 1px 4px rgba(0, 20, 40, .75); }
}

/* Tarjetas del blog en pantallas muy estrechas: "N min de lectura" se cortaba dentro de una caja de 48 px */
@media (max-width: 750px) {
  .post-metadata__readTime, .post-metadata__readTime > span { overflow: visible !important; max-width: none !important; }
  [data-hook="post-list-item"] .UZa2Xr { overflow: visible !important; max-width: none !important; }
  [data-hook="post-list-item"] .V_aJB6, [data-hook="post-list-item"] .dZs5e3, [data-hook="post-list-item"] .xUuoH9 { width: auto !important; max-width: none !important; flex-shrink: 0; }
  [data-hook="post-list-item"] .SbjQym { flex-wrap: wrap; }
}

/* Móvil estrecho (≤480 px): imagen arriba a todo el ancho y texto debajo; en dos columnas el título se partía a mitad de palabra */
@media (max-width: 480px) {
  .gallery-item-container:has([data-hook="post-list-item"]) > div:has(.gallery-item-wrapper) { float: none !important; width: 100% !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-wrapper,
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-content,
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-content img { width: 100% !important; height: 170px !important; margin: 0 !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-content img { object-fit: cover; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-common-info-outer { float: none !important; width: 100% !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) [data-hook="post-list-item"] > div { padding: 16px 16px 20px !important; }
  [data-hook="post-list-item__title"], [data-hook="post-title"] { font-size: 22px !important; line-height: 1.2 !important; }
}

/* Botones de las tarjetas "Compartimos nuestro saber / Cultivamos…": a 320 px su texto bajaba a 9,8 px */
@media (max-width: 750px) {
  a.PoVCDy .Gf1CuA { font-size: max(12px, 3.08vw) !important; }
}

/* Botón "¡Empieza ahora!" del inicio: a 320 px su caja (106 px) era menor que el texto */
@media (max-width: 480px) {
  #comp-m9vp3rhx15 { width: 156px !important; justify-self: center; }
  #comp-m9vp3rhx15 a { width: 100% !important; }
  #comp-m9vp3rhx15 .StylableButton2545352419__container, #comp-m9vp3rhx15 .StylableButton2545352419__label { width: 100% !important; text-align: center; overflow: visible !important; }
}

/* Tarjetas apiladas del home (desktop): la 3ª sube y se apila antes de que llegue la 4ª */
@media (min-width: 1001px) {
  #comp-m9vp3rfl12 { margin-top: 10% !important; }
  #comp-m9vp3rfs16 { margin-top: 60% !important; }
  #comp-mb9j3av0 { margin-top: 110% !important; align-self: start !important; margin-bottom: 0 !important; }
  #comp-m9vp3rfy10 { margin-top: 160% !important; margin-bottom: 0 !important; align-self: start !important; }
}

/* Hero del home (desktop): texto y video centrados verticalmente entre sí */
@media (min-width: 1001px) {
  #comp-m9vp3re51 { align-items: center !important; }
  #comp-mi3laa8x, #comp-m9vp3ree1 { align-self: center !important; }
}
@media (min-width: 1440px) {
  #comp-m9vp3rei12 { align-items: center !important; }
  #comp-mhc61bc6 { align-self: center !important; }
}

/* Botón "¡Empieza ahora!": texto centrado */
#comp-m9vp3rhx15 a { padding-left: 0 !important; padding-right: 0 !important; }
#comp-m9vp3rhx15 .StylableButton2545352419__container { justify-content: center !important; width: 100% !important; }
#comp-m9vp3rhx15 .StylableButton2545352419__label { margin: 0 !important; text-align: center !important; }

/* Tarjetas apiladas del home: las 4 con el mismo tamaño aunque el contenido varíe */
@media (min-width: 1001px) {
  #comp-m9vp3rfl12, #comp-m9vp3rfs16, #comp-mb9j3av0, #comp-m9vp3rfy10 { height: auto !important; aspect-ratio: 1 / 0.94; }
}
@media (min-width: 1440px) {
  #comp-m9vp3rfl12, #comp-m9vp3rfs16, #comp-mb9j3av0, #comp-m9vp3rfy10 { aspect-ratio: 1 / 0.9; }
}

/* Hero del home en pantallas muy grandes: la fila ocupa todo el ancho del contenido (como los contadores de abajo)
   y el video llega hasta el mismo borde derecho, sin pasar sobre el título */
@media (min-width: 1921px) {
  #comp-m9vp3re51 { width: 100% !important; max-width: 100% !important; justify-content: space-between; }
  #comp-m9vp3ree1 { flex: 0 0 50% !important; width: 50% !important; max-width: none !important; margin-left: auto !important; margin-right: 0 !important; }
  #comp-m9vp3ree1 .comp-m9vp3ree1-container { width: 100% !important; }
  #comp-m9vp3rei12 { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  #comp-mhc61bc6 { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
}

/* Testimonios del home en pantallas muy grandes: los 3 videos completos (el borde derecho cortaba el 3.º) */
@media (min-width: 1921px) {
  #pro-gallery-container-comp-m9vp3rg514, #gallery-horizontal-scroll-comp-m9vp3rg514 { width: calc(100% + 30px) !important; }
}

/* Pantallas muy grandes: el contenido del home llega al mismo ancho que el resto de páginas (1800 px) */
@media (min-width: 1921px) {
  #comp-m9vp3rdx, #comp-m9vp3rf7, #comp-m9vp3rgn12, #comp-m9vp3rhu7,
  #comp-mls8jjob, #comp-mllbg0w1, #comp-mlvae1x3, #comp-mb8aazrx26, #comp-mb5kr4ir { zoom: 0.9375; }
  /* la galería de testimonios calcula sus tamaños con JS a partir de su ancho: se le da el mismo ancho del resto */
  #comp-m9vp3rg514 { width: 1800px !important; max-width: 100% !important; justify-self: center !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Quiénes somos en pantallas muy grandes: titular y galería de fotos dentro del mismo ancho que el resto */
@media (min-width: 1921px) {
  #comp-m3pvn42s6 { position: relative; left: calc(47vw - 960px); width: 1700px !important; max-width: 1700px !important; }
  #comp-m3pvp58x { width: 1800px !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Secciones que en pantallas muy grandes se salían del ancho del sitio (hero de referidos, procesos de servicios) */
@media (min-width: 1921px) {
  #comp-mllbg0kz .comp-mllbg0kz-container,
  #comp-mllbg0qn .comp-mllbg0qn-container,
  #comp-m3rfy2w8 .comp-m3rfy2w8-container,
  #comp-ma7dah91 .comp-ma7dah91-container,
  #comp-maej9tqk1 .comp-maej9tqk1-container,
  #comp-mafta4ub .comp-mafta4ub-container { max-width: 1800px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Blog ≥1921: lista + Instagram dentro del marco de 1800 px */
@media (min-width: 1921px) {
  .comp-mah0gkc7-container { max-width: 1800px !important; margin-left: auto !important; margin-right: auto !important; }
  .comp-m391coyr-container { box-sizing: border-box !important; padding-left: calc(50% - 900px) !important; padding-right: calc(50% - 900px) !important; }
}

/* Blog (desktop): menos espacio entre el Instagram y "¿Quieres aprender más?" */
@media (min-width: 1001px) {
  .comp-mah0nbpi-container { grid-template-rows: auto !important; padding-top: 20px !important; }
}

/* Quiénes somos: entrada de "Nuestra filosofía de trabajo" (tarjetas escalonadas, título desde la derecha) */
#comp-ma5wvfec.rv-ready .rv-item { opacity: 0; translate: 0 48px; scale: 0.94; transition: opacity .7s ease, translate .7s cubic-bezier(.2,.7,.2,1), scale .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--rv-delay, 0ms); }
#comp-ma5wvfec.rv-ready #comp-mah6pagz.rv-item { translate: 60px 0; scale: 1; }
#comp-ma5wvfec.rv-in .rv-item, #comp-ma5wvfec.rv-in #comp-mah6pagz.rv-item { opacity: 1; translate: 0 0; scale: 1; }

/* Blog (Cómo innovamos): el hero mide lo mismo que el de Quiénes somos, para que la 2ª sección empiece en el mismo sitio */
@media (min-width: 751px) and (max-width: 1919px) { #comp-maftyr2t { min-height: 32.5vw !important; } }

/* "Nuestro proceso, sin complicaciones" (texto girado): siempre en dos líneas */
#comp-maeas1zs8, #comp-maej9tqn10, #comp-mafta4ue7, #comp-man1e1yi { width: 800px !important; max-width: none !important; }
#comp-maeas1zs8 h4, #comp-maej9tqn10 h4, #comp-mafta4ue7 h4, #comp-man1e1yi h4 { white-space: nowrap; }

/* Footer ≥1921: mismo marco de 1800 px que el resto de la página */
@media (min-width: 1921px) {
  footer .max-width-container { max-width: 1800px !important; margin-left: auto !important; margin-right: auto !important; }
}

/* Servicios ≥1921: secciones de proceso y CTA dentro del marco de 1800 px */
@media (min-width: 1921px) {
  .comp-maeas1zn-container, .comp-maej9tqk15-container, .comp-mafta4ub-container { max-width: 1800px !important; margin-left: auto !important; margin-right: auto !important; }
}
@media (min-width: 1001px) { #comp-mah0nbpi { margin-top: -50px !important; } }

/* Laptop (1001–1920): mismo margen lateral que el menú en todas las páginas (sin relleno extra en secciones ni footer) */
@media (min-width: 1001px) and (max-width: 1920px) {
  footer .max-width-container, .comp-ma5wvfec-container, .comp-m3pvn42f-container, .comp-maeas1zn-container,
  .comp-mafta4ub-container, .comp-maej9tqk15-container, .comp-mllbg0tg6-container, .comp-mllbg0kz-container, .comp-mllbg0qn-container, .comp-mafsr7cs-container, .comp-maft5mpj-container,
  .comp-mafta4v3-container, .comp-mafrk9bf7-container, .comp-m3rfy2w8-container, .comp-maej9tr75-container,
  .comp-ma7dah91-container, .comp-maej9trs9-container, .comp-mafta4vi11-container, .comp-mafrk9bv20-container { padding-left: 0 !important; padding-right: 0 !important; }
  #comp-m9j0z6yh { overflow: clip; }
}
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-m3pvn42s6 { margin-left: 0 !important; margin-right: 0 !important; justify-self: start !important; }
  .comp-m3pvn42p-container { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Home laptop (1001–1439): la fila del hero crece con su contenido para que el botón no choque con los contadores */
@media (min-width: 1001px) and (max-width: 1439px) {
  .comp-m9vp3rdx-container { grid-template-rows: auto auto !important; }
}
@media (min-width: 1001px) and (max-width: 1439px) {
  #comp-mhzd56zx { margin-top: calc(54px - 31vh + 8.6vw) !important; }
}

/* Encabezado de legales y agendar (laptop): mismo margen que el resto de páginas (sin el relleno extra de 3 %) */
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-mb6ujcwk section > div > [class*="-container"], #comp-mn42j038 section > div > [class*="-container"], #comp-mb8aazrj section > div > [class*="-container"], #comp-mlvae1v1 section > div > [class*="-container"] { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (min-width: 1001px) and (max-width: 1920px) {
  body:has(#comp-mrpdzuc5) footer .max-width-container { padding-left: 3% !important; padding-right: 3% !important; }
}

/* Hero del home (laptop): video hasta el borde derecho del marco y contadores al ancho del marco */
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-m9vp3re51 { width: 100% !important; max-width: 100% !important; justify-content: space-between; }
  #comp-m9vp3ree1 { margin-right: 0 !important; }
  #comp-m9vp3rei12 { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  #comp-mhc61bc6 { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  #comp-mhzd56zx [class*="-container"] { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-mah6pagz { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; justify-self: stretch !important; }
}

/* Heroes de servicios (laptop): el texto arranca en el margen del marco */
@media (min-width: 1001px) and (max-width: 1920px) {
  .comp-maej9tra12-container, .comp-mafrk9bg16-container, .comp-mafta4v4-container { padding-left: 0 !important; }
  #comp-maej9trb3 { margin-left: 0 !important; }
}
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-mafta4v49, #comp-mafta4v56, #comp-mafrk9bh8, #comp-mafrk9bh18, #comp-m3rfy2wn, #comp-m3rfy2wp4 { margin-left: 0 !important; justify-self: start !important; }
}

/* Tarjetas de proceso (laptop): el margen derecho absorbe la inclinación de las tarjetas para que no se salgan del marco */
@media (min-width: 1001px) and (max-width: 1920px) {
  .comp-maeas1zn-container, .comp-maej9tqk15-container, .comp-mafta4ub-container, .comp-mllbg0tg6-container { padding-right: 4.5vw !important; }
}
@media (min-width: 1001px) and (max-width: 1920px) {
  .comp-maeas1zn-container { padding-right: 6.6vw !important; }
  .comp-mllbg0tg6-container { padding-right: 7.8vw !important; }
}

/* Blog (laptop pequeño): "Síguenos en Instagram @novateva" más compacto para que quepa en su columna */
@media (min-width: 1001px) and (max-width: 1180px) {
  #comp-mah0c5fy_r_comp-luph7m8r h6, #comp-mah0c5fy_r_comp-luph9qg83 .StylableButton2545352419__label { font-size: 21px !important; }
}

/* Hero del home (laptop alto): no forzar la altura de la pantalla; la sección siguiente sube y el espacio se aprovecha */
@media (min-width: 1001px) {
  #comp-m9vp3rdx { min-height: min(93vh, 800px) !important; }
}

/* Hero del home (laptop): el contenedor del video medía 643 px aunque el video solo ocupa 368, y centraba el bloque dejando una banda en blanco bajo la cabecera */
@media (min-width: 1001px) and (max-width: 1919px) {
  #comp-m9vp3ree1, #comp-m9vp3rei12 { height: auto !important; min-height: 0 !important; aspect-ratio: 645 / 373; }
}

/* Blog: la columna de Instagram llega al borde derecho del marco */
@media (min-width: 1001px) and (max-width: 1920px) {
  .comp-mah0b9ub-container { padding-right: 0 !important; }
}

/* Hero del home en laptops de poca altura: se reduce ~7 % para que los contadores quepan en la primera pantalla */
@media (min-width: 1001px) and (max-width: 1439px) and (max-height: 800px) {
  #comp-m9vp3rdx { zoom: 0.93; }
}

@media (min-width: 1001px) and (max-width: 1100px) {
  #comp-mah0c5fy_r_comp-luph7m8r h6, #comp-mah0c5fy_r_comp-luph9qg83 .StylableButton2545352419__label { font-size: 18px !important; }
}

@media (min-width: 1001px) and (max-width: 1180px) {
  #comp-mah0c5fy_r_comp-luph7m8r h6 span { font-size: 24px !important; }
}
/* Quiénes somos, Cómo innovamos y Cómo ayudamos: el hero mide lo mismo y la 2ª sección arranca a la misma altura */
@media (min-width: 751px) and (max-width: 1919px) { #comp-ma5rfhml { min-height: 32.5vw !important; } }

/* Footer (laptop): la línea separadora no pegaba con el texto y quedaba ~120 px vacíos bajo el copyright */
@media (min-width: 1001px) {
  [id$="_r_comp-kbgakgyt"] > [class*="-container"] { grid-template-rows: auto 136px !important; padding-bottom: 24px !important; }
  [id$="_r_comp-lzj2pszu"], [id$="_r_comp-mb8hzuxb"] { margin-top: 22px !important; }
}

/* Legales, agendar y agradecimiento: su cabecera ya lleva el 3% lateral y el menú quedaba ese 3% más a la derecha que en el resto de páginas */
@media (min-width: 1001px) and (max-width: 1920px) {
  #comp-mlvae1v1_r_comp-mi7u0s0o, #comp-mb6ujcwk_r_comp-mi7u0s0o, #comp-mb8aazrj_r_comp-mi7u0s0o, #comp-mn42j038_r_comp-mi7u0s0o, #comp-moiz4wst_r_comp-mi7u0s0o { transform: translateX(-3vw); }
}

/* Header (1001–1239 px): menú completo en vez de la hamburguesa, escalado con el ancho para que quepa junto al idioma y el botón */
@media (min-width: 1001px) and (max-width: 1239px) {
  [id$="_r_comp-mi7v05nj6"], [id$="_r_comp-mi7v05ns7"], [id$="_r_comp-mi7v05nn11"] { display: none !important; }
  [id$="_r_comp-mi7u0s0o"] { display: block !important; left: -0.9vw !important; width: auto !important; }
  [id$="_r_comp-mi7u0s0o"] [class*="-menu"], [id$="_r_comp-mi7u0s0o"] ul { width: auto !important; flex-wrap: nowrap !important; }
  [id$="_r_comp-mi7u0s0o"] li { white-space: nowrap; }
  [id$="_r_comp-mi7u0s0o"] [class*="label"] { font-size: 1.35vw !important; }
  [id$="_r_comp-mi7u0s0o"] ul { gap: 4px 1.3vw !important; }
  [id$="_r_comp-m38tzzgm"] { width: 16.4vw !important; }
  [id$="_r_comp-mi7u1cq8"] { right: calc(3vw + 17.2vw) !important; left: auto !important; }
}

/* Footer: "Acepto los términos y políticas" no debe verse mayor que el título del formulario (laptop) */
@media (min-width: 1001px) and (max-width: 1439px) {
  footer form p[id^="viewer-"], footer form p[id^="viewer-"] span { font-size: clamp(13px, 1.1vw, 16px) !important; }
}

/* Menú de tablet/móvil (≤1000 px): lista de enlaces dentro del panel de la hamburguesa */
.nv-mnav { display: none; }
@media (max-width: 1000px) {
  [id$="_r_comp-mi7v05np8"] [data-testid="responsive-container-content"] { position: relative; }
  .nv-mnav { display: block; position: absolute; top: 120px; left: 0; right: 0; bottom: 130px; overflow-y: auto; padding: 0 32px; pointer-events: auto; -webkit-overflow-scrolling: touch; }
  .nv-mnav ul { list-style: none; margin: 0; padding: 0; }
  .nv-mnav > ul > li { border-bottom: 1px solid #e4e8ee; }
  .nv-mnav a, .nv-mnav button { display: block; width: 100%; box-sizing: border-box; text-align: left; background: none; border: 0; cursor: pointer; font-family: inherit; color: #0b2e4e; text-decoration: none; }
  .nv-mnav__top { font-size: 20px; line-height: 1.3; padding: 16px 0; }
  .nv-mnav button.nv-mnav__top { position: relative; padding-right: 28px; }
  .nv-mnav button.nv-mnav__top::after { content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; margin-top: -7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
  .nv-mnav button.nv-mnav__top[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: -2px; }
  .nv-mnav [aria-current] { color: #f9a11b; }
  .nv-mnav__sub { display: none; padding: 0 0 12px 14px !important; }
  .nv-mnav button[aria-expanded="true"] + .nv-mnav__sub { display: block; }
  .nv-mnav__sub a { font-size: 16px; line-height: 1.35; padding: 9px 0; color: #34495e; }
}


@media (max-width: 1000px) {
  .nv-mnav { bottom: 190px; }
  [id$="_r_comp-mi7v05o5"] { display: none !important; }
  .nv-mnav__cta { position: absolute; left: 32px; right: 32px; bottom: 92px; box-sizing: border-box; padding: 14px 20px; text-align: center; border-radius: 999px; background: #f9a11b; color: #fff; font-family: inherit; font-size: 17px; line-height: 1.2; text-decoration: none; pointer-events: auto; }
  div[id^="comp-"][id$="_r_comp-mi7v05nt11"] { display: none !important; }
  .nv-mnav__social { position: absolute; left: 32px; bottom: 32px; pointer-events: auto; }
  .nv-mnav__social ul { display: flex; gap: 14px; list-style: none; margin: 0; padding: 0; }
  .nv-mnav__social li, .nv-mnav__social a { display: block; width: 28px; height: 28px; }
  .nv-mnav__social img, .nv-mnav__social wow-image { display: block; width: 28px !important; height: 28px !important; }
}

/* Footer: submenú de "Qué hacemos" */
li.wixui-vertical-menu__item > ul.wixui-vertical-menu__submenu { display: none !important; }
li.wixui-vertical-menu__item[data-nv-open="true"] > ul.wixui-vertical-menu__submenu { display: block !important; height: auto !important; opacity: 1 !important; visibility: visible !important; }
li.wixui-vertical-menu__item[data-nv-open="true"] > [data-testid="itemWrapper"] .wixui-vertical-menu__arrow { transform: rotate(180deg); }
li.wixui-vertical-menu__submenu li, .wixui-vertical-menu__submenu a { white-space: normal !important; text-overflow: clip !important; overflow: visible !important; }

/* Tablet (751–1000 px): márgenes de inicio comunes y bloques a su tamaño */
@media (min-width: 751px) and (max-width: 1000px) {
  /* hero de servicios y referidos: el texto arranca donde el vídeo */
  .comp-m3rfy2wl-container, .comp-maej9tra12-container, .comp-mafrk9bg16-container, .comp-mafta4v4-container, .comp-mllbg0lj-container { padding-left: 0 !important; padding-right: 0 !important; }
  #comp-m3rfy2wn, #comp-maej9trb3, #comp-mafrk9bh8, #comp-mafta4v49, #comp-mllbg0ln, #comp-mllbg0lz, #comp-mllbg0mu, #comp-mlqs80fb { width: 100% !important; justify-self: start !important; }
  /* Quiénes somos: "Cada encuentro…" a la altura del margen del resto */
  .comp-m3pvn42p-container { padding-left: 0 !important; padding-right: 0 !important; }
  /* contadores del inicio: caben en su tarjeta */
  [data-count] { white-space: nowrap; font-size: 36px !important; }
  /* Cómo ayudamos: título en dos líneas */
  #comp-ma5rfhn7 { width: 100% !important; max-width: none !important; }
}

/* Tablet: el pódcast muestra la foto completa (4:3) pegada abajo; la banda superior se rellena con el fondo de la foto */
@media (min-width: 751px) and (max-width: 1000px) {
  #comp-mah0zpkp { background: linear-gradient(90deg, #698691 0%, #5a7986 25%, #5b7885 50%, #446475 75%, #204457 100%); }
  #comp-mah0zpkp_img img { object-fit: contain !important; object-position: center bottom !important; }
  #comp-mah0zpkl [aria-label="Barra de redes sociales"] { zoom: 2.2; }
}

/* Tablet: tarjetas del blog más compactas; la foto ocupa toda la altura de la tarjeta (antes 194×145 dentro de una tarjeta de 311 px) */
@media (min-width: 751px) and (max-width: 1000px) {
  .gallery-item-container:has([data-hook="post-list-item"]) { display: flex !important; align-items: stretch; }
  .gallery-item-container:has([data-hook="post-list-item"]) > div:has(.gallery-item-wrapper) { float: none !important; width: 26.5vw !important; flex: none; height: auto !important; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-wrapper,
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-content,
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-content img { width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: cover; }
  .gallery-item-container:has([data-hook="post-list-item"]) .gallery-item-common-info-outer { float: none !important; flex: 1; width: auto !important; min-width: 0; }
  .gallery-item-container:has([data-hook="post-list-item"]) [data-hook="post-list-item"] > div { padding: 22px 24px !important; }
  [data-hook="post-list-item__title"] { font-size: 22px !important; line-height: 1.2 !important; }
  [data-hook="post-list-item"] p, [data-hook="post-list-item"] [class*="excerpt"] { font-size: 14px !important; line-height: 1.45 !important; }
}

/* Móvil: footer con menú y consentimiento más pequeños, más aire arriba y sin el hueco bajo el formulario */
@media (max-width: 750px) {
  [id$="_r_comp-kbgakgyt"] > [class*="-container"] { grid-template-rows: 270px 340px 129px 182px !important; padding-top: 40px !important; }
  [id$="_r_comp-lzj21ca5"] .wixui-vertical-menu__item-label { font-size: 20px !important; line-height: 1.3 !important; }
  footer form p, footer form span, footer form label { font-size: 14px !important; }
  footer form p[id^="viewer-"] { line-height: 1.35 !important; }
}

/* Móvil: "Cómo ayudamos" – título en dos líneas y con el mismo margen que el resto de contenidos */
@media (max-width: 750px) {
  #comp-ma5rfhn7 { margin-top: 36px !important; margin-left: -11px !important; width: 357px !important; max-width: calc(100vw - 2 * 34px + 10px) !important; }
  #comp-ma5rfhn7 h1.font_0.wixui-rich-text__text, #comp-ma5rfhn7 h1.font_0.wixui-rich-text__text span.wixui-rich-text__text { font-size: 5.6vw !important; line-height: 1.4 !important; }
  /* Referidos: separar "Preguntas frecuentes" del bloque anterior y alinear con el margen de la página */
  #comp-mls8jjob { margin-top: 48px !important; }
  #comp-mm0pk8sl { padding-left: 21px; padding-right: 21px; box-sizing: border-box; }
}

/* Tablet: "Cómo ayudamos" con el mismo margen de contenido que "Quiénes somos" (54 px a 768) */
@media (min-width: 751px) and (max-width: 1000px) {
  #comp-m9t1h2ny > [class*="-container"], #comp-ma5tjhve > [class*="-container"] { margin-inline: -9px; }
  #comp-m9uj2zm5 > [class*="-container"] { margin-inline: -19px; }
}

/* Móvil: preguntas de las FAQ de referidos a 16 px (antes 14 px) */
@media (max-width: 750px) {
  #comp-mls8jjob [class*="AccordionContainerHeaderLabel"], #comp-mls8jjob button[class] span { font-size: 16px !important; line-height: 1.3 !important; }
}

/* Móvil: el héroe de "Automatización de procesos" quedaba pegado al header (el título se cortaba); los cuatro servicios arrancan a ~110 px */
@media (max-width: 750px) {
  section:has(> [class*="-container"] #comp-m3rfy2wl) { padding-top: 45px !important; }
  section:has(> [class*="-container"] #comp-mafrk9bg16) { padding-top: 5px !important; }
}

/* Móvil: título "Refuerza tu equipo con nuestros expertos" centrado en su tarjeta (tenía 10 px de margen a la izquierda) */
@media (max-width: 750px) {
  #comp-m9vp3rfu9 { margin-left: 0 !important; justify-self: center !important; }
}

/* Móvil: "Cada encuentro, cada logro…" alineado a la izquierda con la imagen de abajo (tenía 60 px de relleno) */
@media (max-width: 750px) {
  .comp-m3pvn42p-container { padding-left: 0 !important; padding-right: 0 !important; }
}

/* Móvil: con "Qué hacemos" abierto, el menú del footer empuja al formulario en vez de solaparse */
@media (max-width: 750px) {
  [id$="_r_comp-kbgakgyt"] > [class*="-container"]:has([data-nv-open="true"]) { grid-template-rows: auto 340px 129px 182px !important; }
  [id$="_r_comp-lzj21ca5"]:has([data-nv-open="true"]), [id$="_r_comp-lzj21ca5"]:has([data-nv-open="true"]) > * { height: auto !important; min-height: 0 !important; }
}

/* Referidos (laptop): el hueco entre las preguntas frecuentes y "¿Listo para convertir…?" crecía con el ancho (99 px a 1140, 262 px a 1440); se deja en ~100 px (con la última pregunta abierta su respuesta necesita ~65 px) */
@media (min-width: 1001px) and (max-width: 1919px) {
  #comp-mls8jjob { margin-bottom: calc(-1 * max(0px, 0.5435 * 100vw - 620px)); }
}
