/* Cabecera y pie compartidos de nuvvo.org (2-oct-2026). Las clases llevan "nvx-" para no chocar
   con el CSS propio de cada pagina; los selectores llevan la etiqueta (header.nvx-h, footer.nvx-f)
   para ganarle a reglas sueltas como "header{...}" o "footer{...}" que traen algunas paginas. */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap');
header.nvx-h,footer.nvx-f{--nvx-ink:#0b1b2b;--nvx-muted:#52525b;--nvx-line:#e4e4e7;--nvx-accent:#007c80;
  font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left}
header.nvx-h *,footer.nvx-f *{box-sizing:border-box}
header.nvx-h a,footer.nvx-f a{text-decoration:none}

/* ---- Cabecera ---- */
header.nvx-h{position:sticky;top:0;z-index:1000;margin:0;padding:0;background:rgba(249,250,251,.94);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid rgba(228,228,231,.7);box-shadow:none}
.nvx-h .nvx-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;
  max-width:1320px;margin:0 auto;padding:16px 28px}
.nvx-h .nvx-brand{display:flex;align-items:center;gap:10px;color:var(--nvx-ink)}
.nvx-h .nvx-brand img{width:28px;height:28px;display:block;margin:0}
.nvx-h .nvx-brand span{font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--nvx-ink)}
.nvx-h nav.nvx-links{display:flex;align-items:center;justify-content:center;gap:30px;margin:0;padding:0;
  background:none;border:0;position:static;box-shadow:none}
.nvx-h nav.nvx-links a{position:relative;color:var(--nvx-muted);font-size:13.5px;font-weight:500;padding:6px 0;
  background:none;border:0;transition:color .2s}
.nvx-h nav.nvx-links a:hover{color:var(--nvx-ink)}
/* pagina actual */
.nvx-h nav.nvx-links a.nvx-on{color:var(--nvx-ink);font-weight:700}
.nvx-h nav.nvx-links a.nvx-on::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;
  border-radius:2px;background:var(--nvx-accent)}
.nvx-h nav.nvx-links a.nvx-cuenta{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;
  border:1.5px solid var(--nvx-accent);border-radius:999px;background:#e6f4f4;color:var(--nvx-accent);
  font-weight:700;font-size:14px;line-height:1;white-space:nowrap}
.nvx-h nav.nvx-links a.nvx-cuenta.nvx-on{background:var(--nvx-accent);color:#fff}
.nvx-h nav.nvx-links a.nvx-cuenta::after{display:none}
.nvx-h .nvx-der{display:flex;align-items:center;gap:12px}
.nvx-h a.nvx-cta{display:inline-flex;align-items:center;padding:9px 18px;border:1px solid var(--nvx-line);
  border-radius:6px;background:transparent;color:var(--nvx-ink);font-size:13px;font-weight:500;white-space:nowrap;
  transition:border-color .2s}
.nvx-h a.nvx-cta:hover{border-color:var(--nvx-ink)}
.nvx-h button.nvx-ham{display:none;background:none;border:0;font-size:22px;line-height:1;cursor:pointer;
  color:var(--nvx-ink);padding:4px;margin:0}
.nvx-h button.nvx-ham:focus-visible{outline:2px solid var(--nvx-accent);outline-offset:3px;border-radius:6px}

@media (max-width:900px){
  .nvx-h .nvx-in{grid-template-columns:1fr auto;gap:12px;padding:14px 20px}
  .nvx-h nav.nvx-links{display:none}
  .nvx-h nav.nvx-links.nvx-open{display:flex;flex-direction:column;align-items:flex-start;gap:16px;
    position:absolute;top:100%;left:0;right:0;background:#fff;padding:22px 24px;
    border-bottom:1px solid var(--nvx-line);box-shadow:0 12px 24px -12px rgba(11,27,43,.18)}
  .nvx-h nav.nvx-links a{font-size:15px}
  .nvx-h nav.nvx-links a.nvx-on::after{right:auto;width:24px}
  .nvx-h button.nvx-ham{display:block}
  .nvx-h a.nvx-cta{padding:8px 12px;font-size:12px}
}
@media (max-width:400px){.nvx-h .nvx-brand span{font-size:15px}.nvx-h .nvx-in{padding:12px 16px}}

/* ---- Pie ---- */
footer.nvx-f{display:block;margin:0;background:#fafafa;border-top:1px solid var(--nvx-line);padding:56px 0 26px;color:#3f4a56}
.nvx-f .nvx-fr{max-width:1320px;margin:0 auto;padding:0 28px}
.nvx-f .nvx-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px}
.nvx-f h4{margin:0 0 16px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#52525b;font-family:inherit}
.nvx-f .nvx-grid a{display:block;margin:0 0 10px;font-size:13px;color:#3f4a56;background:none}
.nvx-f .nvx-grid a:hover{color:var(--nvx-accent)}
.nvx-f .nvx-fbrand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.nvx-f .nvx-fbrand img{width:24px;height:24px;margin:0}
.nvx-f .nvx-fbrand span{font-weight:700;font-size:15px;letter-spacing:-.02em;color:var(--nvx-ink)}
.nvx-f p.nvx-desc{margin:0 0 18px;max-width:38ch;font-size:12.5px;line-height:1.7;color:#52525b}
.nvx-f .nvx-grid a.nvx-wa{display:inline-flex;width:max-content;align-items:center;gap:8px;padding:9px 14px;
  border-radius:6px;background:var(--nvx-ink);color:#fafafa!important;font-size:12px;font-weight:500}
.nvx-f .nvx-grid a.nvx-wa *{color:#fafafa!important}
.nvx-f .nvx-bot{margin-top:44px;padding-top:22px;border-top:1px solid var(--nvx-line);display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-right:72px;font-size:11.5px;color:#71717a}
.nvx-f .nvx-bot span{color:#71717a}
.nvx-f .nvx-bot a{display:inline-block;margin:0 18px 0 0;font-size:11.5px;color:#52525b}
.nvx-f .nvx-bot a:hover{color:var(--nvx-accent)}
@media (max-width:900px){.nvx-f .nvx-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media (max-width:640px){
  .nvx-f .nvx-fr{padding:0 20px}
  .nvx-f .nvx-grid{grid-template-columns:1fr 1fr;gap:26px 18px}
  .nvx-f .nvx-grid>div:first-child{grid-column:1/-1}
  .nvx-f .nvx-bot{flex-direction:column;align-items:flex-start;padding-right:0}
}

/* Algunas paginas traen reglas con !important para su pie oscuro viejo ("footer h4{color:#fff!important}",
   "html body footer :is(p,a,span...)"). Estas les ganan por especificidad (la clase repetida sube el peso por encima de sus :not()) y dejan el pie igual en todas. */
html body footer.nvx-f.nvx-f.nvx-f h4{color:#52525b!important}
html body footer.nvx-f.nvx-f.nvx-f p.nvx-desc{color:#52525b!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-fbrand span{color:#0b1b2b!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-grid a:not(.nvx-wa){color:#3f4a56!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-grid a:not(.nvx-wa):hover,html body footer.nvx-f.nvx-f.nvx-f .nvx-bot a:hover{color:#007c80!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-bot a{color:#52525b!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-bot span{color:#71717a!important}
html body footer.nvx-f.nvx-f.nvx-f .nvx-grid a.nvx-wa,html body footer.nvx-f.nvx-f.nvx-f .nvx-grid a.nvx-wa *{color:#fafafa!important}
/* industrias.html trae "header a{...}" que le cambiaba el relleno al boton en celular */
@media (max-width:900px){html body header.nvx-h.nvx-h a.nvx-cta{padding:8px 12px;font-size:12px}}

/* ---- Unificacion 2-oct-2026 ---- */
/* Los botones y campos de formulario no heredan la letra: salian en Arial en precios, contacto, partners y prueba */
button,input,select,textarea{font-family:inherit}
/* Recuadro de prueba al final de cada articulo del blog */
section.nvx-cta-blog{margin:8px auto 56px;padding:0 20px;max-width:1100px;font-family:'Figtree',system-ui,sans-serif}
.nvx-cta-blog .nvx-cta-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:26px 28px;border-radius:10px;background:#0b1b2b;color:#fff;box-shadow:0 18px 40px -24px rgba(11,27,43,.6)}
.nvx-cta-blog strong{display:block;font-size:19px;line-height:1.3;color:#fff}
.nvx-cta-blog p{margin:6px 0 0;font-size:14.5px;color:#cbd5e1}
.nvx-cta-blog .nvx-cta-b{display:flex;gap:10px;flex-wrap:wrap}
.nvx-cta-blog a{display:inline-flex;align-items:center;padding:12px 18px;border-radius:6px;font-weight:600;font-size:14px;text-decoration:none!important}
.nvx-cta-blog a.nvx-b1{background:#007c80;color:#fff!important}
.nvx-cta-blog a.nvx-b2{border:1px solid rgba(255,255,255,.3);color:#fff!important}
.nvx-cta-blog a:hover{filter:brightness(1.1)}
