Tu salud merece

resultados en los que puedas confiar.

Más de 60 años de experiencia ofreciendo servicios de laboratorio clínico con calidad, tecnología y calidez humana.

Encontrar sucursal

¿En qué podemos ayudarte hoy?

Un espacio pensado para que los niños vivan una experiencia más cómoda y amigable.

Conocer más →
0
Años de experiencia
0
Sucursales en todo el país
0
Laboratorios de referencia en toda Costa Rica
0
Desde nuestros inicios, comprometidos con tu salud

Soluciones para cada necesidad

Médico revisando resultados de laboratorio

Médicos

  • ✓ Laboratorio de referencia
  • ✓ Convenios médicos
  • ✓ Resultados digitales para su consultorio
  • ✓ Servicios especializados
  • ✓ Respaldo científico y calidad
Ver soluciones para médicos
Empresario coordinando servicios corporativos

Empresas y Asociaciones

  • ✓ Convenios corporativos (BioMETRA Care)
  • ✓ Jornadas de donación de sangre
  • ✓ Ferias de salud
  • ✓ Exámenes pre-empleo
  • ✓ Monitoreo de drogas
Conocer soluciones

Estamos más cerca de vos

11 sucursales en todo el Área Metropolitana de Costa Rica

📍
Heredia
📍
Cartago
📍
Santa Ana
📍
San José
+6
y 6 más
Ver todas las sucursales

🩸 Banco de Sangre BioMETRA

Más de seis décadas comprometidos con la disponibilidad y calidad de hemocomponentes. Donaciones individuales y jornadas corporativas.

Banco de Sangre BioMETRA LAB
Conocer más sobre Banco de Sangre

🔬 Laboratorio de Referencia

Procesamos muestras para más de 100 laboratorios de todo el país, con tecnología de punta y respaldo científico.

Laboratorio de Referencia BioMETRA LAB
Conocer más sobre Laboratorio de Referencia

Ciencia que

Analiza,

Cuidado que transforma.

Precisión

En cada

Resultado.

Confianza

Que da

Tranquilidad.

Cercanía

Que

Acompaña.

Bienestar

Que

Inspira.

Promociones del mes

¿Querés conocer más sobre BioMETRA LAB?

#bmt-vitto, #bmt-vitto * { box-sizing: border-box; } #bmt-vitto { --teal-deep: #0E6E66; --teal-ink: #123B39; --aqua-mist: #EAF6F4; --rojo: #C8102E; --negro: #1A1A1A; --paper: #FFFFFF; --line: #D5EAE7; --shadow: 0 12px 32px rgba(14, 55, 51, 0.18); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: var(--teal-ink); position: fixed; right: 22px; bottom: 22px; display: flex; flex-direction: column; align-items: flex-end; z-index: 2147483647; } #bmt-vitto .teaser { position: relative; max-width: 225px; background: var(--paper); border-radius: 16px; box-shadow: var(--shadow); padding: 12px 28px 12px 14px; margin-bottom: 12px; font-size: 13.5px; line-height: 1.45; color: var(--teal-ink); opacity: 0; transform: translateY(8px) scale(0.97); pointer-events: none; transition: opacity 0.35s ease, transform 0.35s ease; } #bmt-vitto .teaser.visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; } #bmt-vitto .teaser p { margin: 0; } #bmt-vitto .teaser-cerrar { position: absolute; top: 6px; right: 7px; background: none; border: none; font-size: 12.5px; line-height: 1; color: #B9CFCC; cursor: pointer; padding: 4px; } #bmt-vitto .teaser-cerrar:hover { color: #6B908C; } #bmt-vitto.abierto .teaser { display: none; } /* Botón dentro del saludo: solo aparece en las páginas de sucursal */ #bmt-vitto .teaser-accion { display: inline-block; margin-top: 9px; background: var(--teal-deep); color: #fff; border: none; border-radius: 10px; padding: 7px 12px; cursor: pointer; font: 600 12.5px/1.2 -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } #bmt-vitto .teaser-accion:hover { background: #0B5A54; } #bmt-vitto .teaser-accion[hidden] { display: none; } #bmt-vitto .panel { position: relative; width: min(340px, 88vw); max-height: 70vh; background: var(--paper); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; display: none; flex-direction: column; margin-bottom: 12px; animation: bmt-vitto-panel-entra 0.22s ease-out; } #bmt-vitto.abierto .panel { display: flex; } @keyframes bmt-vitto-panel-entra { from { opacity: 0; transform: translateY(14px) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } } #bmt-vitto .panel-header { background: var(--teal-deep); color: #fff; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; } #bmt-vitto .panel-header h2 { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-weight: 700; font-size: 16px; margin: 0 0 2px; color: #fff; } #bmt-vitto .panel-header p { font-size: 12.5px; margin: 0; opacity: 0.85; color: #fff; } #bmt-vitto .cerrar { background: none; border: none; color: #fff; opacity: 0.75; font-size: 20px; line-height: 1; cursor: pointer; padding: 4px; } #bmt-vitto .cerrar:hover { opacity: 1; } #bmt-vitto .panel-cuerpo { padding: 16px 16px 18px; overflow-y: auto; } /* Sombra que avisa que hay más contenido para desplazar dentro del panel (el panel tiene su propio scroll interno, distinto al de la página, y es fácil no notar que hay más abajo — sobre todo en promociones con textos largos). Se activa/desactiva por JS según el scroll real. */ #bmt-vitto .scroll-sombra { position: absolute; left: 0; right: 0; bottom: 0; height: 28px; background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.96)); pointer-events: none; opacity: 0; transition: opacity 0.2s ease; border-radius: 0 0 20px 20px; } #bmt-vitto .panel.tiene-mas-contenido .scroll-sombra { opacity: 1; } #bmt-vitto .vista { display: none; } #bmt-vitto .vista.activa { display: block; animation: bmt-vitto-vista-entra 0.18s ease-out; } @keyframes bmt-vitto-vista-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } #bmt-vitto .opcion { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background: var(--aqua-mist); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-bottom: 9px; cursor: pointer; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; transition: border-color 0.15s ease, background 0.15s ease; } #bmt-vitto .opcion:hover, #bmt-vitto .opcion:focus-visible { border-color: var(--teal-deep); background: #DFF3F0; } #bmt-vitto .opcion .icono { font-size: 19px; } #bmt-vitto .opcion .op-titulo { font-size: 14px; font-weight: 600; color: var(--teal-ink); display: block; } #bmt-vitto .opcion .op-sub { font-size: 12px; color: #5E8A85; margin-top: 1px; } #bmt-vitto .volver { background: none; border: none; color: var(--teal-deep); font-size: 13px; font-weight: 600; cursor: pointer; padding: 0 0 12px; display: inline-flex; align-items: center; gap: 4px; } #bmt-vitto .campo { margin-bottom: 14px; } #bmt-vitto .campo label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--teal-ink); } #bmt-vitto .campo input, #bmt-vitto .campo select { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 14px; color: var(--teal-ink); background: #fff; } #bmt-vitto .campo input:focus, #bmt-vitto .campo select:focus { outline: 2px solid var(--teal-deep); outline-offset: 1px; } #bmt-vitto .nota-recordatorio { font-size: 12px; color: #5E8A85; margin: 8px 2px 0; line-height: 1.4; } #bmt-vitto .bmt-vitto-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; } #bmt-vitto .lista-resultados { margin-top: 8px; } #bmt-vitto .resultado-item { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; font-size: 13.5px; cursor: pointer; } #bmt-vitto .resultado-item:hover, #bmt-vitto .resultado-item:focus-visible { border-color: var(--teal-deep); } #bmt-vitto .resumen-prueba { background: var(--aqua-mist); border-radius: 12px; padding: 14px; font-size: 13.5px; line-height: 1.5; margin-bottom: 14px; } #bmt-vitto .resumen-prueba strong { color: var(--teal-deep); } #bmt-vitto .resumen-prueba .costo { display: inline-block; margin-top: 8px; font-weight: 700; color: var(--rojo); } #bmt-vitto .sin-promos { font-size: 13.5px; line-height: 1.5; color: #3E5E5A; margin: 0; } #bmt-vitto .boton-principal { width: 100%; background: var(--teal-deep); color: #fff; border: none; border-radius: 12px; padding: 13px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; font-size: 14px; font-weight: 600; cursor: pointer; text-align: center; text-decoration: none; display: inline-block; } #bmt-vitto .boton-principal:hover { background: #0B5A54; } #bmt-vitto .mensaje-preview { background: #F5FBFA; border: 1px dashed var(--line); border-radius: 12px; padding: 12px; font-size: 13px; line-height: 1.5; color: #3E5E5A; margin-bottom: 14px; white-space: pre-wrap; } #bmt-vitto .fila-burbuja { display: flex; align-items: center; gap: 8px; position: relative; } #bmt-vitto .burbuja-frase { position: absolute; bottom: calc(100% + 10px); right: 0; max-width: 200px; background: var(--paper); border-radius: 14px; box-shadow: var(--shadow); padding: 10px 12px; font-size: 13px; line-height: 1.4; color: var(--teal-ink); opacity: 0; transform: translateY(6px) scale(0.96); pointer-events: none; transition: opacity 0.3s ease, transform 0.3s ease; } #bmt-vitto .burbuja-frase p { margin: 0; } #bmt-vitto .burbuja-frase.visible { opacity: 1; transform: translateY(0) scale(1); } #bmt-vitto .cerrar-todo { width: 24px; height: 24px; border-radius: 50%; border: none; background: rgba(255,255,255,0.75); color: #9DB8B4; font-size: 12px; line-height: 1; cursor: pointer; box-shadow: 0 2px 6px rgba(14,55,51,0.12); display: grid; place-items: center; flex-shrink: 0; } #bmt-vitto .cerrar-todo:hover { color: #4E736F; background: #fff; } #bmt-vitto .burbuja { position: relative; width: 68px; height: 68px; border-radius: 50%; background: var(--paper); border: none; box-shadow: var(--shadow); cursor: pointer; padding: 0; display: grid; place-items: center; } #bmt-vitto .anillo { position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--rojo); opacity: 0.35; animation: bmt-vitto-anillo-pulso 2.8s ease-out 3 forwards; } @keyframes bmt-vitto-anillo-pulso { 0% { transform: scale(0.85); opacity: 0.45; } 70% { transform: scale(1.18); opacity: 0; } 100% { transform: scale(1.18); opacity: 0; } } #bmt-vitto .mascota-stack { position: relative; width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 0 0 2.6px var(--negro), 0 0 0 5px var(--rojo); animation: bmt-vitto-respirar 3.2s ease-in-out infinite; transform-origin: center bottom; } @keyframes bmt-vitto-respirar { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.02); } } #bmt-vitto .mascota-stack .pose { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.45s ease; } #bmt-vitto .mascota-stack .pose.activa-pose { opacity: 1; } /* DISFRACES DE TEMPORADA Una sola capa SVG encima de las 5 poses, con el mismo viewBox (100x100), así cada disfraz se dibuja una vez y calza en todas. Cada disfraz es un grupo ; el script le pone "activo" al que toca según el calendario. Sin animaciones propias: se mueve junto con Vitto porque vive dentro de .mascota-stack (que es la que "respira"). */ #bmt-vitto .disfraz-capa { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; transform-origin: 50% 55%; transition: transform 0.45s ease; } #bmt-vitto .disfraz-capa .disfraz { display: none; } #bmt-vitto .disfraz-capa .disfraz.activo { display: inline; } /* La pose "pensando" está inclinada -8°: la capa se inclina igual para que el tapón y los accesorios sigan calzando sobre el tubo. */ #bmt-vitto .mascota-stack[data-pose-actual="pensando"] .disfraz-capa { transform: rotate(-8deg); } #bmt-vitto .brazo-saluda { transform-box: view-box; transform-origin: 60px 62px; animation: bmt-vitto-saludo 0.55s ease-in-out 3; animation-delay: 1.4s; } @keyframes bmt-vitto-saludo { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(20deg); } } #bmt-vitto .brazo-izq { transform-box: view-box; transform-origin: 40px 62px; } /* Al dormirse, los brazos bajan suavemente en vez de quedar en su posición normal */ #bmt-vitto .burbuja.dormido .brazo-saluda { animation: none; transform: rotate(20deg) translateY(5px); transition: transform 1.2s ease; } #bmt-vitto .burbuja.dormido .brazo-izq { transform: rotate(-20deg) translateY(5px); transition: transform 1.2s ease; } #bmt-vitto .ojos { animation: bmt-vitto-parpadeo 4.6s ease-in-out infinite; transform-origin: center; } @keyframes bmt-vitto-parpadeo { 0%, 90%, 100% { transform: scaleY(1); } 94% { transform: scaleY(0.12); } } #bmt-vitto .burbuja.dormido .ojos { animation: none; transform: scaleY(0.15); } #bmt-vitto .burbuja.dormido .mascota-stack { animation-duration: 6s; } #bmt-vitto .zzz { position: absolute; top: -6px; right: -2px; font-size: 11px; font-weight: 700; color: var(--teal-deep); opacity: 0; transition: opacity 0.6s ease; pointer-events: none; } #bmt-vitto .burbuja.dormido .zzz { opacity: 0.6; animation: bmt-vitto-zzz-flotar 2.6s ease-in-out infinite; } @keyframes bmt-vitto-zzz-flotar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } } /* Pelota: un solo círculo, sin línea. Rebota desde la mano mientras Vitto "juega", y se va rodando (como si lo distrajéramos) al interactuar. */ #bmt-vitto .pelota-wrap { position: absolute; top: 26px; left: 44px; width: 16px; height: 16px; opacity: 0; overflow: visible; transition: opacity 0.3s ease; pointer-events: none; } #bmt-vitto .burbuja.jugando .pelota-wrap, #bmt-vitto .burbuja.distraido .pelota-wrap { opacity: 1; } #bmt-vitto .burbuja.jugando .pelota { animation: bmt-vitto-pelota-rebote 1.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; } @keyframes bmt-vitto-pelota-rebote { 0%, 100% { transform: translateY(0) scale(1); } 40% { transform: translateY(20px) scaleX(1.15) scaleY(0.8); } 55% { transform: translateY(20px) scale(1); } } #bmt-vitto .burbuja.distraido .pelota { animation: bmt-vitto-pelota-rueda 0.6s ease-in forwards; transform-box: fill-box; transform-origin: center; } @keyframes bmt-vitto-pelota-rueda { from { transform: translate(0, 0) rotate(0deg); opacity: 1; } to { transform: translate(28px, 14px) rotate(340deg); opacity: 0; } } /* La mano acompaña el rebote: empuja la pelota hacia abajo y hace un pequeño gesto al recibirla de vuelta, sincronizado con el mismo ritmo. */ #bmt-vitto .burbuja.jugando .mascota-stack .pose[data-pose="reposo"] .brazo-saluda { animation: bmt-vitto-mano-impulso 1.4s ease-in-out infinite; } @keyframes bmt-vitto-mano-impulso { 0%, 100% { transform: rotate(0deg); } 20% { transform: rotate(18deg); } 45% { transform: rotate(0deg); } 85% { transform: rotate(-8deg); } } /* Insignia con la cantidad de pruebas en "Mi selección" (solo se ve si hay algo agregado) */ #bmt-vitto .badge-sel { position: absolute; top: -3px; right: -3px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--teal-deep); color: #fff; text-align: center; pointer-events: none; font: 700 12px/22px -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-shadow: 0 0 0 2px #fff; } @media (prefers-reduced-motion: reduce) { #bmt-vitto .mascota-stack, #bmt-vitto .ojos, #bmt-vitto .anillo, #bmt-vitto .panel, #bmt-vitto .vista, #bmt-vitto .teaser, #bmt-vitto .zzz, #bmt-vitto .mascota-stack .pose, #bmt-vitto .brazo-saluda, #bmt-vitto .burbuja-frase, #bmt-vitto .disfraz-capa { animation: none !important; transition: none !important; } }

¡Hola! Soy Vitto 👋

¡Hola!

Soy Vitto, tu asistente en BioMETRA LAB