:root {
  --verde: #98ca3f;
  --verde-soft: rgba(152, 202, 63, 0.12);
  --oscuro: #0b1a11;
  --profundo: #050d08;
  --blanco: #fff;
  --texto: #212121;
  --texto-soft: #555;
  --borde: #ededed;
  --fondo-soft: #fcfdf9;
  --radio-sm: 10px;
  --radio-md: 18px;
  --sombra-sm: 0 10px 30px rgba(11, 26, 17, 0.05);
  --sombra-md: 0 20px 60px rgba(11, 26, 17, 0.08);
  --sombra-lg: 0 30px 80px rgba(11, 26, 17, 0.12);
  --trans: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  --section-space: clamp(70px, 8vw, 110px);
  --container: 1140px;
  --container-wide: 1200px;
  --nav-h: 68px;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: auto;
}
.va-contenedor-general>.row, .va-historia-contenedor>.row, .va-historia-grilla.row, .va-servicios-contenedor .row, .va-servicios-grilla.row, .va-soluciones-contenedor .row, .va-soluciones-grilla.row, .va-laboratorio-contenedor .row, .va-laboratorio-grilla-lista.row, .va-contacto-grilla.row, .va-portada-grilla.row {
  --bs-gutter-x: 1.5rem;
  margin-right: calc(var(--bs-gutter-x) * -.5);
  margin-left: calc(var(--bs-gutter-x) * -.5);
}
.va-contenedor-general, .va-historia-contenedor, .va-servicios-contenedor, .va-redes-contenedor, .va-soluciones-contenedor, .va-laboratorio-contenedor, .va-contacto .va-contenedor-general {
  overflow-x: clip;
}
html, body {
  scroll-padding-top: calc(var(--nav-h) + 16px);
  overflow-x: hidden;
}
body {
  margin: 0;
  padding-top: var(--nav-h);
  font-family: 'Poppins', sans-serif;
  background: var(--blanco);
  color: var(--texto);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img {
  display: block;
  max-width: 100%;
}
a, button, span, i {
  transition: var(--trans);
}
.va-sitio-navegacion, .va-contenedor-general, .va-laboratorio-contenedor, .va-servicios-contenedor, .va-redes-contenedor, .va-historia-contenedor, .va-sitio-pie-contenedor {
  width: min(100% - 40px, var(--container));
  margin: 0 auto;
}
.va-soluciones-contenedor, .va-portada-grilla {
  width: min(100% - 40px, var(--container-wide));
  margin: 0 auto;
}
.va-boton-primario, .va-boton-secundario, .va-sitio-movil-boton, .va-contacto-boton, .va-solucion-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: var(--radio-sm);
  text-decoration: none;
  font-weight: 700;
  transition: var(--trans);
}
.va-boton-primario, .va-sitio-movil-boton, .va-contacto-boton, .va-solucion-boton {
  background: var(--verde);
  color: var(--oscuro);
}
.va-boton-secundario {
  background: var(--oscuro);
  color: var(--blanco);
}
.va-boton-primario, .va-boton-secundario {
  padding: 14px 28px;
}
.va-sitio-movil-boton {
  width: 100%;
  padding: 18px;
  letter-spacing: 1px;
  box-shadow: 0 10px 20px rgba(152, 202, 63, 0.18);
}
.va-contacto-boton {
  padding: 12px 20px;
  font-size: 12px;
  white-space: nowrap;
}
.va-solucion-boton {
  padding: 10px 22px;
  font-size: 11px;
}
.va-boton-primario:hover, .va-boton-secundario:hover, .va-sitio-movil-boton:hover, .va-contacto-boton:hover, .va-solucion-boton:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}
.va-sitio-cabecera {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 12px 0;
  background: rgba(11, 26, 17, 0.96);
  border-bottom: 1px solid rgba(152, 202, 63, 0.1);
  backdrop-filter: blur(14px);
  transition: background 0.4s ease, box-shadow 0.4s ease, padding 0.4s ease;
}
#contenedorPublico {
  transition: opacity .16s ease;
}
body.estado-cargando-publico #contenedorPublico {
  opacity: .96;
  pointer-events: none;
}
.va-sitio-cabecera.va-nav-compacta {
  padding: 8px 0;
  background: rgba(11, 26, 17, 0.99);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
}
.va-sitio-navegacion {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 360px;
  align-items: center;
  padding: 0 10px;
}
.va-sitio-logo {
  justify-self: start;
}
.va-sitio-logo img {
  height: 42px;
}
.va-sitio-menu {
  justify-self: center;
}
.va-sitio-navegacion-lista {
  display: flex;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.va-sitio-navegacion-enlace {
  color: var(--blanco);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
}
.va-sitio-navegacion-enlace:hover, .va-sitio-navegacion-enlace.estado-activo {
  color: var(--verde);
}
.va-sitio-desplegable {
  position: relative;
}
.va-sitio-menu-desplegable {
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  background: #0e1f14;
  border-top: 3px solid var(--verde);
  border-radius: 0 0 14px 14px;
  box-shadow: var(--sombra-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
}
.va-sitio-desplegable:hover .va-sitio-menu-desplegable {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.va-sitio-menu-desplegable a {
  display: block;
  padding: 12px 20px;
  color: var(--blanco);
  font-size: 12px;
  text-decoration: none;
}
.va-sitio-menu-desplegable a:hover {
  color: var(--verde);
  background: rgba(152, 202, 63, 0.15);
}
.va-sitio-acciones, .va-sitio-social, .va-sitio-controles {
  display: flex;
  align-items: center;
}
.va-sitio-acciones {
  justify-self: end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 360px;
}
.va-sitio-controles {
  justify-content: flex-end;
  gap: 10px;
}
.va-sitio-social {
  gap: 4px;
  padding-right: 14px;
  margin-right: 2px;
  border-right: 1px solid rgba(255, 255, 255, .1);
}
.va-sitio-acciones {
  flex-shrink: 0;
}
.va-sitio-social-enlace {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid transparent;
  color: rgba(255, 255, 255, .7);
  font-size: 15px;
  text-decoration: none;
  transition: all .2s;
}
.va-sitio-social-enlace:hover {
  color: var(--verde);
  background: rgba(152, 202, 63, .12);
  border-color: rgba(152, 202, 63, .3);
  transform: translateY(-2px);
}
.va-sitio-social img {
  display: none;
  height: 34px;
  width: auto;
  max-width: 170px;
}
.va-sitio-enlace-catalogo, .va-sitio-enlace-admin, .va-sitio-boton-carrito {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  text-decoration: none;
}
.va-sitio-accion-icono {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}
.va-sitio-accion-texto {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.va-sitio-enlace-catalogo {
  gap: 9px;
  padding: 6px 16px 6px 7px;
  color: var(--oscuro);
  background: var(--verde);
  border: 1px solid rgba(152, 202, 63, .65);
  box-shadow: 0 12px 24px rgba(152, 202, 63, .18);
}
.va-sitio-enlace-catalogo:hover, .va-sitio-enlace-catalogo.estado-activo {
  color: var(--oscuro);
  background: #a9e33f;
  border-color: #a9e33f;
  transform: translateY(-1px);
}
.va-sitio-enlace-catalogo .va-sitio-accion-icono {
  color: var(--oscuro);
  background: rgba(11, 26, 17, .12);
  border: 1px solid rgba(11, 26, 17, .08);
}
.va-sitio-enlace-admin {
  gap: 9px;
  padding: 6px 14px 6px 7px;
  color: var(--blanco);
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));
  border: 1px solid rgba(152, 202, 63, .18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 20px rgba(0, 0, 0, .14);
}
.va-sitio-enlace-admin:hover {
  color: var(--oscuro);
  background: var(--verde);
  border-color: var(--verde);
  transform: translateY(-1px);
}
.va-sitio-enlace-admin .va-sitio-accion-icono {
  background: rgba(152, 202, 63, .14);
  border: 1px solid rgba(152, 202, 63, .16);
  color: var(--verde);
}
.va-sitio-enlace-admin:hover .va-sitio-accion-icono {
  background: rgba(11, 26, 17, .12);
  border-color: rgba(11, 26, 17, .08);
  color: var(--oscuro);
}
.va-sitio-boton-carrito {
  position: relative;
  gap: 9px;
  padding: 6px 14px 6px 7px;
  width: auto;
  color: var(--verde);
  background: linear-gradient(180deg, rgba(152, 202, 63, .14), rgba(152, 202, 63, .08));
  border: 1px solid rgba(152, 202, 63, .25);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: all .2s;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 10px 20px rgba(0, 0, 0, .12);
}
.va-sitio-boton-carrito:hover {
  background: var(--verde);
  border-color: var(--verde);
  color: var(--oscuro);
}
.va-sitio-boton-carrito .va-sitio-accion-icono {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .06);
}
.va-sitio-boton-carrito:hover .va-sitio-accion-icono {
  background: rgba(11, 26, 17, .12);
  border-color: rgba(11, 26, 17, .08);
}
.va-sitio-contador-carrito {
  position: absolute;
  top: -6px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oscuro);
  background: var(--verde);
  border: 2px solid var(--oscuro);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.va-sitio-alternador {
  display: none;
  width: 42px;
  height: 42px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));
  border: 1px solid rgba(152, 202, 63, .20);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 6px 16px rgba(0, 0, 0, .18);
  transition: all .2s;
  flex-shrink: 0;
}
.va-sitio-alternador span {
  width: 16px;
  height: 2px;
  background: rgba(255, 255, 255, .85);
  border-radius: 999px;
  transition: transform .28s ease, opacity .28s ease;
  display: block;
}
.va-sitio-alternador:hover {
  border-color: rgba(152, 202, 63, .45);
  background: rgba(152, 202, 63, .08);
}
.va-sitio-panel {
  position: fixed;
  inset: 0 -100% 0 auto;
  z-index: 999998;
  width: 100%;
  height: 100vh;
  padding: 80px 28px 28px;
  overflow-y: auto;
  background: radial-gradient(circle at top right, rgba(152, 202, 63, 0.08), transparent 28%), linear-gradient(180deg, rgba(11, 26, 17, 0.99), rgba(5, 13, 8, 0.985));
  backdrop-filter: blur(16px);
  transition: right .3s ease;
}
.va-sitio-panel.estado-abierto {
  right: 0;
}
.va-sitio-panel-cerrar {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 10px;
  color: rgba(255, 255, 255, .65);
  font-size: 15px;
  cursor: pointer;
  transition: all .2s;
}
.va-sitio-panel-cerrar:hover {
  background: rgba(152, 202, 63, .12);
  border-color: rgba(152, 202, 63, .28);
  color: var(--verde);
}
.va-sitio-movil-contenido {
  width: min(100%, 420px);
  margin: 0 auto;
}
.va-sitio-movil-lista {
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}
.va-sitio-movil-etiqueta {
  margin: 18px 0 7px;
  padding-left: 4px;
  color: var(--verde);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  opacity: 0.65;
  text-transform: uppercase;
}
.va-sitio-movil-principal, .va-sitio-movil-secundario {
  display: block;
  text-decoration: none;
  border-radius: 12px;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .03em;
  transition: all .18s ease;
}
.va-sitio-movil-principal {
  padding: 11px 15px;
  color: rgba(255, 255, 255, .92);
  text-transform: uppercase;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .07);
}
.va-sitio-movil-secundario {
  padding: 11px 15px;
  color: rgba(255, 255, 255, .78);
  text-transform: uppercase;
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .06);
}
.va-sitio-movil-principal:hover, .va-sitio-movil-secundario:hover {
  color: var(--verde);
  background: rgba(152, 202, 63, .07);
  border-color: rgba(152, 202, 63, .18);
  transform: translateX(3px);
}
.va-sitio-movil-accion {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.va-portada, .va-historia, .va-servicios, .va-redes, .va-soluciones, .va-laboratorio, .va-contacto {
  position: relative;
  width: 100%;
  overflow: hidden;
}
#va-inicio, #va-identidad, #va-servicios-seccion, #va-redes-seccion, #va-contacto-seccion, #va-line, #va-soluciones-seccion {
  scroll-margin-top: var(--nav-h);
}
.va-portada, .va-historia, .va-servicios, .va-redes, .va-soluciones, .va-laboratorio {
  background: var(--blanco);
}
.va-portada {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - var(--nav-h));
  background: radial-gradient(circle at top left, rgba(152, 202, 63, 0.08), transparent 32%), linear-gradient(180deg, #fff 0%, #fbfdf8 100%);
}
.va-portada-patron {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: 120px;
  background-repeat: repeat;
  opacity: 0.03;
}
.va-portada-grilla {
  position: relative;
  z-index: 2;
  align-items: center;
  padding: 40px 0;
}
.va-portada-media {
  display: flex;
  justify-content: center;
  filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.06));
}
.va-portada-logo {
  width: 100%;
  max-width: 320px;
  height: auto;
  animation: float 5s ease-in-out infinite;
}
.va-portada-insignia {
  display: inline-block;
  margin-bottom: 15px;
  padding: 5px 14px;
  background: var(--verde-soft);
  color: var(--oscuro);
  border: 1px solid rgba(152, 202, 63, 0.14);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.va-portada-texto h1 {
  margin: 0 0 20px;
  color: var(--oscuro);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.va-portada-texto h1 span, .va-acento, .va-soluciones-titulo .accent {
  color: var(--verde);
}
.va-portada-texto p, .va-servicios-cabecera p, .va-soluciones-subtitulo, .va-laboratorio-descripcion p, .va-servicio-tarjeta p {
  color: var(--texto-soft);
}
.va-portada-texto p {
  margin: 0 0 30px;
  font-size: 17px;
  line-height: 1.75;
}
.va-portada-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.va-historia {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 85vh;
  padding: clamp(50px, 7vw, 100px) 0;
  background: radial-gradient(circle at center, rgba(152, 202, 63, 0.06), transparent 45%), linear-gradient(180deg, #fff 0%, #fbfcf8 100%);
}
.va-historia-textura {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(ellipse at 20% 30%, rgba(152, 202, 63, 0.12) 0 10%, transparent 11%), radial-gradient(ellipse at 70% 60%, rgba(104, 141, 44, 0.10) 0 9%, transparent 10%), repeating-linear-gradient(135deg, rgba(152, 202, 63, 0.05) 0 1px, transparent 1px 34px);
  background-size: 220px 180px, 260px 210px, 34px 34px;
  opacity: 0.85;
  mix-blend-mode: color-burn;
  pointer-events: none;
}
.va-historia::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.78) 100%);
}
.va-historia-contenedor, .va-servicios-contenedor, .va-soluciones-contenedor, .va-laboratorio-contenedor, .va-contenedor-general {
  position: relative;
  z-index: 2;
}
.va-historia-grilla {
}
.va-historia-tarjeta, .va-servicio-tarjeta, .va-laboratorio-tarjeta {
  transition: var(--trans);
}
.va-historia-tarjeta {
  position: relative;
  overflow: hidden;
  padding: 38px 32px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(152, 202, 63, 0.14);
  border-radius: 24px;
  box-shadow: var(--sombra-md);
  backdrop-filter: blur(8px);
}
.va-historia-tarjeta:hover {
  transform: translateY(-12px);
  border-color: rgba(152, 202, 63, 0.45);
  box-shadow: var(--sombra-lg);
}
.va-historia-acento {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 6px;
  background: var(--verde);
  transition: width 0.5s ease;
}
.va-historia-tarjeta:hover .va-historia-acento {
  width: 100%;
}
.va-historia-cabecera {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
}
.va-historia-icono, .va-servicio-icono {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--verde);
  background: var(--oscuro);
}
.va-historia-icono {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  font-size: 26px;
  border-radius: 16px;
}
.va-historia-pulso {
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 3px solid var(--verde);
  border-radius: inherit;
  opacity: 0;
}
.va-historia-tarjeta:hover .va-historia-pulso {
  opacity: 0.4;
  transform: scale(1.4);
}
.va-historia-numero {
  color: rgba(152, 202, 63, 0.08);
  font-family: 'Montserrat', sans-serif;
  font-size: 80px;
  font-weight: 900;
  line-height: 0.8;
}
.va-historia-tarjeta:hover .va-historia-numero {
  color: rgba(152, 202, 63, 0.15);
  transform: translateX(-10px);
}
.va-historia-tarjeta h3 {
  margin: 18px 0 14px;
  color: var(--oscuro);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.va-historia-tarjeta:hover h3 {
  color: var(--verde);
}
.va-historia-texto p {
  margin: 0 0 18px;
  color: #444;
  font-size: 16px;
  line-height: 1.8;
  text-align: justify;
}
.va-servicios {
  display: flex;
  justify-content: center;
  padding: var(--section-space) 0;
  background: linear-gradient(180deg, #fff 0%, #fcfdf9 100%);
}
#va-servicios-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.va-servicios-cabecera, .va-soluciones-cabecera {
  text-align: center;
}
.va-servicios-cabecera {
  margin-bottom: 50px;
}
.va-soluciones-cabecera {
  margin-bottom: 50px;
}
.va-servicios-sobretitulo, .va-soluciones-sobretitulo, .va-laboratorio-sobretitulo {
  display: block;
  color: var(--verde);
  font-weight: 800;
  text-transform: uppercase;
}
.va-servicios-sobretitulo {
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: 2px;
}
.va-servicios-cabecera h2, .va-soluciones-titulo {
  margin: 0;
  color: var(--oscuro);
  font-weight: 900;
  line-height: 1.1;
}
.va-servicios-cabecera h2 {
  font-size: clamp(28px, 4vw, 38px);
}
.va-servicios-cabecera p {
  margin: 10px auto 0;
  max-width: 640px;
  font-size: 16px;
}
.va-servicios-grilla, .va-soluciones-grilla, .va-laboratorio-grilla-lista {
}
.va-servicios-grilla {
}
.va-servicio-tarjeta {
  display: flex;
  flex-direction: column;
  padding: 26px 22px;
  text-align: center;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #eef0e8;
  border-radius: 16px;
  box-shadow: var(--sombra-sm);
  backdrop-filter: blur(10px);
}
.va-servicio-tarjeta:hover {
  transform: translateY(-10px);
  border-color: rgba(152, 202, 63, 0.4);
  box-shadow: 0 22px 40px rgba(152, 202, 63, 0.14);
}
.va-servicio-icono {
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  font-size: 22px;
  border-radius: 10px 22px;
}
.va-servicio-tarjeta:hover .va-servicio-icono {
  color: var(--oscuro);
  background: var(--verde);
  transform: rotate(12deg) scale(1.08);
}
.va-servicio-tarjeta h3 {
  margin: 0 0 10px;
  color: var(--oscuro);
  font-size: 18px;
  font-weight: 700;
}
.va-servicio-tarjeta p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
}
.va-contacto {
  padding: var(--section-space) 0;
  color: var(--blanco);
  background: radial-gradient(circle at 75% 50%, rgba(152, 202, 63, 0.07) 0%, transparent 35%), linear-gradient(180deg, #071009 0%, var(--profundo) 100%);
}
.va-contacto-capa {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(152, 202, 63, 0.03), transparent);
  pointer-events: none;
}
.va-contacto-grilla {
  align-items: center;
}
.va-contacto-estado {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.va-estado-punto {
  width: 8px;
  height: 8px;
  background: var(--verde);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--verde);
  animation: pulse 2s infinite;
}
.va-estado-etiqueta, .va-solucion-texto label, .va-contacto-texto label, .va-contacto-accion-etiqueta, .va-laboratorio-estado, .va-laboratorio-vision-etiqueta, .va-sitio-pie-barra p {
  font-weight: 800;
  text-transform: uppercase;
}
.va-estado-etiqueta {
  color: var(--verde);
  font-size: 10px;
  letter-spacing: 2.5px;
  opacity: 0.8;
}
.va-seccion-titulo {
  margin: 0 0 40px;
  font-size: 52px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1px;
}
.va-contacto-lista {
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}
.va-contacto-item {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  margin-bottom: 35px;
  opacity: 0;
  transform: translateX(-20px);
  animation: revealNode 0.7s forwards ease-out;
  animation-delay: calc(var(--order) * 0.2s);
}
.va-contacto-icono {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 45px;
  height: 45px;
  color: var(--verde);
  font-size: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(152, 202, 63, 0.15);
  border-radius: 12px;
}
.va-contacto-texto label {
  display: block;
  margin-bottom: 5px;
  color: var(--verde);
  font-size: 9px;
  letter-spacing: 1.5px;
  opacity: 0.7;
}
.va-contacto-texto p {
  margin: 0;
  color: #bbb;
  font-size: 14px;
  line-height: 1.5;
}
.va-contacto-tarjeta {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.va-contacto-centro-grafico {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 360px;
  height: 360px;
}
.va-contacto-brillo {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(152, 202, 63, 0.1) 0%, transparent 70%);
  pointer-events: none;
}
.va-contacto-anillo {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(152, 202, 63, 0.15);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.va-contacto-anillo-externo {
  width: 100%;
  height: 100%;
  border-style: dashed;
  animation: rotate 30s linear infinite;
}
.va-contacto-anillo-interno {
  width: 82%;
  height: 82%;
  border-color: rgba(255, 255, 255, 0.03);
  animation: rotate 20s linear infinite reverse;
}
.va-contacto-centro {
  position: relative;
  z-index: 5;
  text-align: center;
}
.va-contacto-logo {
  display: block;
  width: 130px;
  margin: 0 auto 25px;
  filter: drop-shadow(0 0 10px rgba(152, 202, 63, 0.3));
}
.va-contacto-acciones {
  display: flex;
  justify-content: center;
  gap: 15px;
}
.va-contacto-accion-icono, .va-sitio-pie-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.va-contacto-accion-icono {
  width: 50px;
  height: 50px;
  color: var(--blanco);
  font-size: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}
.va-contacto-accion-icono:hover {
  color: var(--oscuro);
  background: var(--blanco);
  transform: translateY(-5px);
}
.va-contacto-accion {
  display: flex;
  align-items: center;
  gap: 25px;
  width: 100%;
  max-width: 400px;
  margin-top: 30px;
  padding: 20px 25px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: var(--radio-md);
  backdrop-filter: blur(10px);
}
.va-contacto-accion-texto {
  flex: 1;
}
.va-contacto-accion-etiqueta {
  display: block;
  color: #666;
  font-size: 9px;
  letter-spacing: 1px;
}
.va-contacto-accion-valor {
  color: var(--blanco);
  font-size: 15px;
  font-weight: 700;
}
.va-laboratorio {
  padding: var(--section-space) 0;
  background: linear-gradient(180deg, #fff 0%, #fcfcfa 100%);
}
.va-laboratorio-grilla {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#f5f5f5 1px, transparent 1px), linear-gradient(90deg, #f5f5f5 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.5;
  pointer-events: none;
}
.va-laboratorio-cabecera {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  padding-bottom: 25px;
  border-bottom: 1px solid #eee;
}
.va-laboratorio-sobretitulo {
  margin-bottom: 8px;
  font-size: 11px;
  letter-spacing: 3px;
}
.va-laboratorio-titulo, .va-soluciones-titulo {
  letter-spacing: -1px;
}
.va-laboratorio-titulo {
  margin: 0;
  font-size: 44px;
  font-weight: 900;
  line-height: 1;
}
.va-laboratorio-titulo .va-laboratorio-contorno {
  color: transparent;
  -webkit-text-stroke: 1.5px #111;
}
.va-laboratorio-descripcion p {
  max-width: 350px;
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  text-align: right;
}
.va-laboratorio-grilla-lista {
  margin-bottom: 40px;
}
.va-laboratorio-tarjeta {
  position: relative;
  padding: 24px;
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: 14px;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.03);
}
.va-laboratorio-tarjeta:hover {
  transform: translateY(-10px);
  border-color: var(--accent, var(--verde));
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}
.va-laboratorio-tarjeta.is-featured {
  background: var(--fondo-soft);
  border-color: #e9f0d8;
}
.va-laboratorio-tarjeta .va-laboratorio-tarjeta-cabecera {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}
.va-laboratorio-tarjeta .va-laboratorio-tarjeta-cabecera i {
  color: var(--accent, var(--verde));
  font-size: 26px;
}
.va-laboratorio-tarjeta .num {
  color: #f0f0f0;
  font-size: 36px;
  font-weight: 900;
  line-height: 0.8;
}
.va-laboratorio-tarjeta:hover .num {
  opacity: 0.15;
  color: var(--accent, var(--verde));
}
.va-laboratorio-tarjeta .va-laboratorio-tarjeta-cuerpo h3 {
  margin: 0 0 10px;
  color: #000;
  font-size: 20px;
  font-weight: 800;
}
.va-laboratorio-tarjeta .va-laboratorio-tarjeta-cuerpo p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}
.va-laboratorio-tarjeta .va-laboratorio-tarjeta-pie {
  margin-top: 20px;
}
.va-laboratorio-estado {
  color: #bbb;
  font-size: 10px;
  letter-spacing: 1px;
}
.va-laboratorio-insignia {
  padding: 5px 12px;
  color: var(--verde);
  font-size: 11px;
  font-weight: 700;
  background: rgba(152, 202, 63, 0.1);
  border-radius: 999px;
}
.va-laboratorio-vision {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 25px 40px;
  color: var(--blanco);
  background: #111;
  border-radius: 14px;
}
.va-laboratorio-vision-etiqueta {
  flex-shrink: 0;
  padding-right: 40px;
  color: var(--verde);
  font-size: 10px;
  letter-spacing: 4px;
  border-right: 1px solid #333;
}
.va-laboratorio-vision-principal {
  display: flex;
  align-items: center;
  gap: 20px;
}
.va-laboratorio-vision-principal i {
  color: var(--verde);
  font-size: 22px;
}
.va-laboratorio-vision-texto h4 {
  margin: 0;
  color: var(--blanco);
  font-size: 18px;
  font-weight: 700;
}
.va-laboratorio-vision-texto span {
  color: #888;
  font-size: 14px;
}
.va-soluciones {
  padding: var(--section-space) 0;
}
.va-soluciones-textura {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.55;
  pointer-events: none;
  background-image: repeating-linear-gradient(0deg, #f2f2f2, #f2f2f2 1px, transparent 1px, transparent 45px);
}
.va-soluciones-sobretitulo {
  margin-bottom: 10px;
  font-size: 11px;
  letter-spacing: 4px;
}
.va-soluciones-titulo {
  font-size: 42px;
  color: #1a1a1a;
}
.va-soluciones-subtitulo {
  margin-top: 10px;
  font-size: 15px;
}
.va-soluciones-linea {
  width: 50px;
  height: 4px;
  margin: 15px auto 0;
  background: var(--verde);
  border-radius: 999px;
}
.va-soluciones-grilla {
}
.va-solucion-tarjeta {
  position: relative;
  overflow: hidden;
  height: 300px;
  width: 100%;
  background: #111;
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: transform 0.4s ease;
}
.va-solucion-imagen {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.85;
  transition: transform 0.8s ease, opacity 0.5s ease;
}
.va-solucion-etiqueta {
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 2;
  color: var(--blanco);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.6);
}
.va-solucion-capa {
  position: absolute;
  inset: auto 0 0;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding: 40px;
  background: linear-gradient(to top, #0b1a11 30%, rgba(11, 26, 17, 0.62) 100%);
  backdrop-filter: blur(8px);
  opacity: 0;
  transform: translateY(100%);
  transition: var(--trans);
}
.va-solucion-texto {
  transform: translateY(20px);
  transition: transform 0.5s 0.1s ease;
}
.va-solucion-texto label {
  display: block;
  margin-bottom: 8px;
  color: var(--verde);
  font-size: 9px;
  letter-spacing: 2px;
}
.va-solucion-texto h3 {
  margin: 0 0 12px;
  color: var(--blanco);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.2;
}
.va-solucion-texto p {
  margin: 0 0 25px;
  color: #ddd;
  font-size: 13px;
  line-height: 1.6;
}
.va-solucion-tarjeta:hover {
  transform: translateY(-10px);
}
.va-solucion-tarjeta:hover .va-solucion-imagen {
  opacity: 0.5;
  transform: scale(1.1);
}
.va-solucion-tarjeta:hover .va-solucion-capa {
  opacity: 1;
  transform: translateY(0);
}
.va-solucion-tarjeta:hover .va-solucion-texto {
  transform: translateY(0);
}
.va-solucion-tarjeta:hover .va-solucion-etiqueta {
  opacity: 0;
}
.va-solucion-boton:hover {
  background: var(--blanco);
}
.va-sitio-pie {
  width: 100%;
  padding-top: 34px;
  color: var(--blanco);
  background: var(--oscuro);
  border-top: 2px solid var(--verde);
}
.va-sitio-pie-contenedor {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 40px;
  padding-bottom: 34px;
}
.va-sitio-pie-marca {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.va-sitio-pie-logo {
  width: 132px;
  height: auto;
  margin-bottom: 16px;
}
.va-sitio-pie-lema {
  max-width: 280px;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.7;
}
.va-sitio-pie-social {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
}
.va-sitio-pie-social a {
  width: 35px;
  height: 35px;
  color: var(--verde);
  font-size: 14px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 8px;
}
.va-sitio-pie-social a:hover {
  color: var(--oscuro);
  background: var(--verde);
}
.va-sitio-pie-contacto {
  display: flex;
  flex: 1.1;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.va-sitio-pie-enlace {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  text-decoration: none;
}
.va-sitio-pie-enlace:hover {
  color: var(--blanco);
}
.va-sitio-pie-enlace i {
  width: 20px;
  color: var(--verde);
  font-size: 14px;
  text-align: center;
}
.va-sitio-pie-mapa {
  flex: 0.9;
  min-height: 140px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.16);
}
.va-sitio-pie-mapa iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(1) invert(0.9) contrast(1.2);
}
.va-sitio-pie-barra {
  padding: 12px 0;
  text-align: center;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.va-sitio-pie-barra p {
  margin: 0;
  color: rgba(255, 255, 255, 0.42);
  font-size: 10px;
  letter-spacing: 1.2px;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.1);
  }
}
@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes revealNode {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@media (max-width:1100px) {
  .va-sitio-menu {
    display: none;
  }
  .va-sitio-alternador {
    display: flex;
  }
  .va-sitio-accion-texto {
    display: none;
  }
  .va-sitio-enlace-catalogo, .va-sitio-enlace-admin {
    width: 42px;
    padding: 0;
    border-radius: 12px;
  }
  .va-sitio-boton-carrito {
    min-width: 42px;
    padding: 0;
    border-radius: 12px;
  }
  .va-sitio-acciones {
    gap: 12px;
  }
}
@media (max-width:760px) {
  .va-sitio-cabecera {
    padding: 10px 0;
    background: #102015;
    border-bottom-color: rgba(152, 202, 63, .16);
  }
  .va-sitio-navegacion {
    width: min(100% - 24px, var(--container));
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: center;
    justify-items: center;
    padding: 0;
  }
  .va-sitio-logo {
    display: none;
  }
  .va-sitio-acciones {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px;
    border: 1px solid rgba(152, 202, 63, .13);
    border-radius: 20px;
    background: rgba(255, 255, 255, .035);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
  }
  .va-sitio-social {
    justify-self: start;
    padding: 0 12px 0 2px;
    margin: 0;
    border-right: 0;
    min-width: 0;
  }
  .va-sitio-social img {
    display: block;
    height: 42px;
    max-width: min(190px, 56vw);
    object-fit: contain;
  }
  .va-sitio-controles {
    gap: 8px;
    margin-left: auto;
    padding-left: 10px;
    border-left: 1px solid rgba(255, 255, 255, .12);
  }
  .va-sitio-alternador {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    margin-left: 0;
    background: rgba(255, 255, 255, .04);
    border-color: rgba(152, 202, 63, .28);
  }
  .va-portada {
    padding-top: 42px;
  }
}
@media (max-width:420px) {
  .va-sitio-cabecera {
    padding: 8px 0;
  }
  .va-sitio-navegacion {
    width: min(100% - 20px, var(--container));
    gap: 10px;
  }
  .va-sitio-acciones {
    padding: 7px;
    border-radius: 18px;
  }
  .va-sitio-social img {
    height: 38px;
    max-width: 54vw;
  }
  .va-sitio-controles {
    gap: 6px;
    padding-left: 8px;
  }
  .va-sitio-enlace-catalogo, .va-sitio-enlace-admin, .va-sitio-boton-carrito, .va-sitio-alternador {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }
}
@media (max-width:1024px) {
  .va-laboratorio-cabecera, .va-laboratorio-vision, .va-laboratorio-vision-principal {
    flex-direction: column;
    text-align: center;
  }
  .va-laboratorio-cabecera {
    align-items: center;
  }
  .va-laboratorio-descripcion p {
    text-align: center;
  }
  .va-laboratorio-vision {
    gap: 15px;
    padding: 30px;
  }
  .va-laboratorio-vision-etiqueta {
    padding: 0;
    border: 0;
  }
  .va-redes-cabecera, .va-redes-grilla {
    grid-template-columns: 1fr;
  }
  .va-redes-cabecera {
    align-items: start;
  }
  .va-redes-resumen {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .va-redes-marca, .va-redes-acciones {
    grid-column: 1 / -1;
  }
}
@media (max-width:992px) {
}
@media (max-width:968px) {
  .va-redes-galeria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .va-contacto-grilla {
    text-align: center;
  }
  .va-seccion-titulo {
    font-size: 38px;
  }
  .va-contacto-lista {
    padding: 0;
    border: 0;
  }
  .va-contacto-item {
    justify-content: center;
    text-align: left;
  }
  .va-contacto-centro-grafico {
    width: 300px;
    height: 300px;
  }
}
@media (max-width:900px) {
  .va-portada-grilla {
    text-align: center;
  }
  .va-portada-acciones {
    justify-content: center;
  }
  .va-portada-logo {
    max-width: 220px;
  }
  .va-historia-tarjeta {
    padding: 28px 22px;
  }
  .va-historia-numero {
    font-size: 70px;
  }
  .va-soluciones-titulo {
    font-size: 32px;
  }
  .va-sitio-pie-contenedor {
    flex-direction: column;
    gap: 30px;
  }
  .va-sitio-pie-marca {
    align-items: center;
    text-align: center;
  }
  .va-sitio-pie-social {
    justify-content: center;
  }
  .va-sitio-pie-mapa {
    width: 100%;
    height: 140px;
  }
}
@media (max-width:600px) {
  .va-sitio-panel {
    padding: 86px 18px 22px;
  }
  .va-sitio-movil-contenido {
    width: 100%;
  }
  .va-sitio-movil-principal {
    font-size: 13px;
    padding: 11px 14px;
  }
  .va-sitio-movil-secundario {
    font-size: 13px;
    padding: 11px 14px;
  }
  .va-portada-acciones {
    flex-direction: column;
    align-items: stretch;
  }
  .va-boton-primario, .va-boton-secundario {
    width: 100%;
  }
  .va-contacto-accion {
    flex-direction: column;
    text-align: center;
  }
  .va-redes {
    padding: 42px 0;
  }
  .va-redes-cabecera {
    margin-bottom: 24px;
  }
  .va-redes-cabecera p {
    font-size: 14px;
  }
  .va-redes-destacado {
    grid-template-columns: 1fr;
    margin: 14px;
    padding: 18px;
  }
  .va-redes-galeria {
    grid-template-columns: 1fr;
    padding: 0 14px 14px;
  }
  .va-redes-panel-cabecera {
    align-items: flex-start;
    flex-direction: column;
  }
  .va-redes-resumen {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .va-redes-marca {
    min-height: 160px;
    padding: 20px;
  }
  .va-redes-acciones {
    grid-template-columns: 1fr;
  }
  .va-solucion-capa {
    padding: 28px;
  }
}
@media (min-width:1200px) {
  :root {
    --nav-h: 68px;
  }
  .va-portada {
    min-height: calc(100vh - var(--nav-h));
  }
  .va-historia {
    min-height: 100vh;
    padding: clamp(40px, 5vh, 70px) 0;
  }
  .va-servicios {
    min-height: 100vh;
    align-items: center;
    padding: clamp(40px, 5vh, 70px) 0;
  }
  .va-contacto {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }
  .va-laboratorio {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: clamp(40px, 5vh, 70px) 0;
  }
  .va-soluciones {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: clamp(40px, 5vh, 70px) 0;
  }
  .va-laboratorio-contenedor, .va-soluciones-contenedor {
    width: min(100% - 40px, var(--container-wide));
  }
}
#va-redes-seccion {
  content-visibility: auto;
  contain-intrinsic-size: 760px;
}
#va-redes-seccion.va-redes {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(30px, 4vw, 46px) 0;
  color: var(--oscuro);
  background: radial-gradient(circle at 12% 12%, rgba(152, 202, 63, .12), transparent 28%), linear-gradient(180deg, #fbfdf8 0%, #f2f7ee 100%);
}
#va-redes-seccion .va-redes-patron {
  position: absolute;
  inset: 0;
  background-size: 118px;
  background-repeat: repeat;
  opacity: .02;
  pointer-events: none;
}
#va-redes-seccion .va-redes-contenedor {
  position: relative;
  z-index: 2;
}
#va-redes-seccion .va-redes-cabecera {
  display: grid;
  grid-template-columns: 1fr minmax(260px, .55fr);
  gap: 20px;
  align-items: end;
  margin-bottom: 16px;
}
#va-redes-seccion .va-redes-sobretitulo {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  color: var(--verde);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
}
#va-redes-seccion .va-redes-cabecera h2 {
  margin: 0;
  color: var(--oscuro);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 900;
  line-height: 1.08;
}
#va-redes-seccion .va-redes-cabecera p {
  margin: 0;
  line-height: 1.65;
}
#va-redes-seccion .va-redes-cabecera p, #va-redes-seccion .va-redes-perfil small, #va-redes-seccion .va-redes-destacado p, #va-redes-seccion .va-redes-miniatura small, #va-redes-seccion .va-redes-tarjeta p {
  color: #5f6d62;
}
#va-redes-seccion .va-redes-grilla {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 18px;
}
#va-redes-seccion .va-redes-panel, #va-redes-seccion .va-redes-resumen {
  border: 1px solid #dfe8dc;
  background: rgba(255, 255, 255, .9);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(11, 26, 17, .07);
}
#va-redes-seccion .va-redes-panel {
  overflow: hidden;
  max-width: none;
  margin: 0;
}
#va-redes-seccion .va-redes-panel-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid;
  border-bottom-color: #e5ecdf;
}
#va-redes-seccion .va-redes-perfil {
  display: flex;
  align-items: center;
  gap: 12px;
}
#va-redes-seccion .va-redes-avatar, #va-redes-seccion .va-redes-icono {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--oscuro);
  background: var(--verde);
}
#va-redes-seccion .va-redes-avatar {
  width: 42px;
  height: 42px;
  border-radius: 14px;
}
#va-redes-seccion .va-redes-icono {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}
#va-redes-seccion .va-redes-perfil strong, #va-redes-seccion .va-redes-destacado h3, #va-redes-seccion .va-redes-miniatura strong, #va-redes-seccion .va-redes-tarjeta strong, #va-redes-seccion .va-redes-marca span {
  color: var(--oscuro);
}
#va-redes-seccion .va-redes-enlace {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5d8f20;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
#va-redes-seccion .va-redes-destacado {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(250px, .42fr) minmax(320px, .58fr);
  gap: 18px;
  margin: 16px;
  padding: 14px;
  border: 1px solid #d7e7ce;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff 0%, #f5faef 100%);
}
#va-redes-seccion .va-redes-destacado-copy {
  display: flex;
  flex-direction: column;
  min-height: 300px;
}
#va-redes-seccion .va-redes-destacado h3 {
  min-height: 60px;
  margin: 8px 0 10px;
  max-width: 360px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 900;
  line-height: 1;
}
#va-redes-seccion .va-redes-destacado p {
  min-height: 44px;
  margin: 0;
  max-width: 360px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 14px;
  line-height: 1.55;
}
#va-redes-seccion .va-redes-lista-cabecera {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e4ecd9;
}
#va-redes-seccion .va-redes-lista-cabecera span {
  color: #77aa2c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#va-redes-seccion .va-redes-lista-cabecera small {
  color: #5f6d62;
  font-size: 11px;
  font-weight: 800;
}
#va-redes-seccion .va-redes-miniaturas {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-height: 170px;
  margin-top: 10px;
  padding-right: 3px;
  overflow-y: auto;
}
#va-redes-seccion .va-redes-miniatura {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #e0ead9;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
}
#va-redes-seccion .va-redes-miniatura span {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oscuro);
  background: rgba(152, 202, 63, .22);
  border-radius: 10px;
}
#va-redes-seccion .va-redes-miniatura strong {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#va-redes-seccion .va-redes-miniatura small {
  padding: 4px 8px;
  border: 1px solid #dde8d6;
  border-radius: 999px;
  background: #f7faf4;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#va-redes-seccion .va-redes-miniatura.estado-activo, #va-redes-seccion .va-redes-miniatura:hover {
  border-color: rgba(152, 202, 63, .72);
  background: #f4faed;
}
#va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-shell {
  width: 100%;
  overflow: visible;
  border: 1px solid;
  border-radius: 16px;
  min-height: 0;
  max-height: none;
  border-color: #dbe8d2;
  background: #fff;
  box-shadow: none;
}
#va-redes-seccion #vaRedesEmbedActivo .va-redes-preview {
  overflow: hidden;
  min-height: 300px;
  max-height: 320px;
  background: linear-gradient(145deg, #f8fbf4 0%, #ffffff 100%);
}
#va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado {
  min-height: 420px;
  aspect-ratio: 9 / 13;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background: #061009;
}
#va-redes-seccion .va-redes-embed-fallback {
  position: relative;
  min-height: inherit;
  display: grid;
  place-items: center;
  gap: 14px;
  padding: 26px 22px;
  overflow: hidden;
  color: var(--oscuro);
  text-align: center;
  background: radial-gradient(circle at 50% 18%, rgba(152, 202, 63, .16), transparent 34%), linear-gradient(180deg, #fbfdf7 0%, #eef6e6 100%);
  border: 1px solid rgba(152, 202, 63, .30);
  border-radius: 16px;
}
#va-redes-seccion .va-redes-embed-fallback::before {
  content: '';
  position: absolute;
  inset: 14px;
  border: 1px dashed rgba(11, 26, 17, .12);
  border-radius: 14px;
  pointer-events: none;
}
#va-redes-seccion .va-redes-embed-fallback::after {
  content: 'VisuAgro';
  position: absolute;
  right: 18px;
  bottom: 14px;
  color: rgba(11, 26, 17, .08);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#va-redes-seccion .va-redes-embed-fallback span {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oscuro);
  background: var(--verde);
  border: 6px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  font-size: 20px;
  box-shadow: 0 14px 30px rgba(58, 91, 36, .16);
}
#va-redes-seccion .va-redes-embed-fallback strong {
  position: relative;
  z-index: 1;
  max-width: 260px;
  color: var(--oscuro);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.08;
}
#va-redes-seccion .va-redes-embed-fallback p {
  position: relative;
  z-index: 1;
  max-width: 260px;
  margin: 0;
  color: #5f6d62;
  font-size: 13px;
  line-height: 1.55;
}
#va-redes-seccion .va-redes-cargar {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  color: var(--oscuro);
  background: var(--verde);
  border: 1px solid rgba(74, 124, 35, .22);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .03em;
  box-shadow: 0 12px 24px rgba(152, 202, 63, .22);
}
#va-redes-seccion .va-redes-cargar:hover {
  background: #a9e33f;
  transform: translateY(-1px);
}
#va-redes-seccion .va-redes-embed-shell .instagram-media, #va-redes-seccion .va-redes-embed-shell .tiktok-embed {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: transparent !important;
}
#va-redes-seccion .va-redes-embed-shell iframe {
  max-width: 100% !important;
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  display: block;
  border: 0 !important;
}
#va-redes-seccion .va-redes-resumen {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}
#va-redes-seccion .va-redes-marca {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid #e0ead9;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #f4f9ef);
}
#va-redes-seccion .va-redes-marca img {
  width: 112px;
}
#va-redes-seccion .va-redes-tarjeta {
  display: flex;
  gap: 12px;
  padding: 14px;
  border: 1px solid;
  border-radius: 14px;
  border-color: #e0ead9;
  background: #fff;
}
#va-redes-seccion .va-redes-tarjeta strong {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
}
#va-redes-seccion .va-redes-tarjeta p {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}
#va-redes-seccion .va-redes-acciones {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}
#va-redes-seccion .va-redes-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  color: var(--oscuro);
  background: var(--verde);
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}
#va-redes-seccion .va-redes-boton-secundario {
  color: var(--oscuro);
  background: #edf5e6;
  border: 1px solid #dbe8d2;
}
.va-servicios, .va-redes, .va-laboratorio, .va-soluciones, .va-contacto {
  content-visibility: auto;
  contain-intrinsic-size: 820px;
}
@media (max-width:1024px) {
  #va-redes-seccion .va-redes-cabecera, #va-redes-seccion .va-redes-grilla, #va-redes-seccion .va-redes-destacado {
    grid-template-columns: 1fr;
  }
  #va-redes-seccion .va-redes-destacado-copy {
    order: 2;
    min-height: 300px;
  }
  #va-redes-seccion .va-redes-miniaturas {
    max-height: none;
  }
  #va-redes-seccion .va-redes-resumen {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #va-redes-seccion .va-redes-marca, #va-redes-seccion .va-redes-acciones {
    grid-column: 1 / -1;
  }
}
@media (max-width:600px) {
  #va-redes-seccion {
    contain-intrinsic-size: 980px;
  }
  #va-redes-seccion .va-redes-destacado {
    margin: 12px;
    padding: 14px;
  }
  #va-redes-seccion .va-redes-resumen {
    grid-template-columns: 1fr;
  }
  #va-redes-seccion .va-redes-miniatura {
    grid-template-columns: 38px minmax(0, 1fr);
  }
  #va-redes-seccion .va-redes-miniatura small {
    grid-column: 2;
    justify-self: start;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-shell {
    min-height: 0;
    max-height: none;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview {
    min-height: 300px;
    max-height: 340px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado {
    min-height: 360px;
    aspect-ratio: 9 / 12;
  }
}
#va-redes-seccion .va-redes-contenedor {
  width: min(100% - 40px, 940px);
}
#va-redes-seccion .va-redes-grilla {
  grid-template-columns: minmax(0, 1fr) 250px;
}
#va-redes-seccion .va-redes-destacado {
  grid-template-columns: minmax(200px, .42fr) minmax(260px, .58fr);
}
#va-redes-seccion .va-redes-resumen {
  padding: 14px;
}
@media (max-width:1024px) {
  #va-redes-seccion .va-redes-contenedor {
    width: min(100% - 32px, 740px);
  }
  #va-redes-seccion .va-redes-grilla, #va-redes-seccion .va-redes-destacado {
    grid-template-columns: 1fr;
  }
}
@media (max-width:600px) {
  #va-redes-seccion .va-redes-contenedor {
    width: min(100% - 24px, 420px);
  }
}
@media (min-width:1025px) {
  #va-redes-seccion {
    contain-intrinsic-size: 760px;
  }
  #va-redes-seccion.va-redes {
    min-height: calc(100vh - var(--nav-h));
    display: flex;
    align-items: center;
    padding: clamp(56px, 7vh, 82px) 0 clamp(52px, 7vh, 76px);
  }
  #va-redes-seccion .va-redes-contenedor {
    width: min(100% - 72px, 1080px);
  }
  #va-redes-seccion .va-redes-cabecera {
    grid-template-columns: minmax(0, .86fr) minmax(300px, .42fr);
    align-items: start;
    margin-bottom: 12px;
    padding: 0 4px;
  }
  #va-redes-seccion .va-redes-cabecera h2 {
    max-width: 760px;
    font-size: clamp(28px, 3vw, 42px);
  }
  #va-redes-seccion .va-redes-cabecera p {
    max-width: 430px;
    justify-self: end;
    font-size: 14px;
    line-height: 1.45;
  }
  #va-redes-seccion .va-redes-grilla {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 225px;
    gap: 16px;
    align-items: start;
  }
  #va-redes-seccion .va-redes-panel {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 0;
  }
  #va-redes-seccion .va-redes-destacado {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(245px, 300px) minmax(280px, 320px);
    justify-content: center;
    align-items: start;
    gap: clamp(22px, 3vw, 34px);
    margin: 10px 12px 12px;
    padding: 14px;
  }
  #va-redes-seccion .va-redes-destacado-copy {
    order: 2;
    min-height: 300px;
  }
  #va-redes-seccion .va-redes-destacado h3 {
    min-height: 58px;
    max-width: 320px;
    font-size: clamp(22px, 2.2vw, 30px);
  }
  #va-redes-seccion .va-redes-destacado p {
    min-height: 38px;
    max-width: 320px;
    font-size: 13px;
    line-height: 1.45;
  }
  #va-redes-seccion .va-redes-miniaturas {
    max-height: 184px;
  }
  #va-redes-seccion .va-redes-miniatura {
    min-height: 42px;
    padding: 6px 8px;
    gap: 8px;
  }
  #va-redes-seccion .va-redes-miniatura span {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }
  #va-redes-seccion .va-redes-miniatura strong {
    font-size: 12px;
  }
  #va-redes-seccion .va-redes-miniatura small {
    padding: 3px 7px;
    font-size: 9px;
  }
  #va-redes-seccion #vaRedesEmbedActivo {
    order: 1;
    min-height: 0;
    width: min(100%, 320px);
    justify-self: start;
    display: flex;
    justify-content: center;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview,
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado {
    width: 100%;
    margin-inline: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 9 / 14;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview {
    width: 320px;
    flex: 0 0 320px;
    height: 360px;
    min-height: 360px;
    max-height: 360px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview .va-redes-embed-fallback {
    padding: 18px;
    gap: 9px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview .va-redes-embed-fallback span {
    width: 44px;
    height: 44px;
    border-width: 5px;
    border-radius: 15px;
    font-size: 16px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview .va-redes-embed-fallback strong {
    font-size: 20px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview .va-redes-embed-fallback p {
    font-size: 12px;
    line-height: 1.4;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-preview .va-redes-cargar {
    min-height: 36px;
    padding: 0 14px;
    font-size: 12px;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado {
    flex: 0 0 320px;
    height: 360px;
    min-height: 360px;
    aspect-ratio: auto;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #061009;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado .instagram-media,
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado .tiktok-embed {
    width: 500px !important;
    min-width: 500px !important;
    max-width: 500px !important;
    height: 680px !important;
    min-height: 680px !important;
    margin: 0 auto !important;
    transform: scale(.52);
    transform-origin: top center;
  }
  #va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-cargado iframe {
    width: 500px !important;
    max-width: 500px !important;
    height: 680px !important;
    min-height: 680px !important;
  }
  #va-redes-seccion .va-redes-resumen {
    gap: 10px;
    padding: 12px;
  }
  #va-redes-seccion .va-redes-marca {
    min-height: 118px;
    padding: 12px;
  }
  #va-redes-seccion .va-redes-marca img {
    width: 92px;
  }
  #va-redes-seccion .va-redes-marca span,
  #va-redes-seccion .va-redes-tarjeta strong {
    font-size: 13px;
  }
  #va-redes-seccion .va-redes-tarjeta {
    padding: 10px;
    gap: 10px;
  }
  #va-redes-seccion .va-redes-icono {
    width: 32px;
    height: 32px;
    font-size: 13px;
  }
  #va-redes-seccion .va-redes-tarjeta p {
    font-size: 11px;
    line-height: 1.35;
  }
  #va-redes-seccion .va-redes-boton {
    min-height: 36px;
    font-size: 12px;
  }
}

@media (min-width: 1025px) {
  #va-line.va-laboratorio,
  #va-soluciones-seccion.va-soluciones {
    min-height: calc(100vh - var(--nav-h));
    display: flex;
    align-items: center;
    padding: clamp(56px, 7vh, 82px) 0;
  }

  #va-line .va-laboratorio-contenedor,
  #va-soluciones-seccion .va-soluciones-contenedor {
    width: min(100% - 40px, var(--container-wide));
  }
}

#va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-shell {
  position: relative;
  padding: 8px;
  border: 1px solid rgba(152, 202, 63, .48);
  background:
    linear-gradient(#061009, #061009) padding-box,
    linear-gradient(145deg, rgba(152, 202, 63, .95), rgba(11, 26, 17, .72)) border-box;
  box-shadow: 0 16px 34px rgba(11, 26, 17, .16);
}

#va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-shell::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  right: 8px;
  height: 3px;
  z-index: 2;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--verde), rgba(255, 255, 255, .2), var(--verde-oscuro));
  opacity: .9;
  pointer-events: none;
}

#va-redes-seccion #vaRedesEmbedActivo .va-redes-embed-shell::after {
  content: "VisuAgro";
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 5px 9px;
  color: var(--oscuro);
  background: rgba(152, 202, 63, .9);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  pointer-events: none;
}

#va-redes-seccion #vaRedesEmbedActivo .instagram-media,
#va-redes-seccion #vaRedesEmbedActivo .tiktok-embed,
#va-redes-seccion #vaRedesEmbedActivo iframe {
  border-radius: 12px !important;
}
