/* Vida Médica · microinteracciones de cursor, sliders y profundidad */
:root{--vm-e:cubic-bezier(.16,1,.3,1)}

/* Cursor personalizado (solo con mouse) */
.vm-cursor,.vm-cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;border-radius:50%;opacity:0;transform:translate3d(var(--cx,-200px),var(--cy,-200px),0)}
.vm-cursor{width:8px;height:8px;margin:-4px 0 0 -4px;background:#0990CC;transition:opacity .3s ease,width .3s var(--vm-e),height .3s var(--vm-e),margin .3s var(--vm-e)}
.vm-cursor-ring{width:42px;height:42px;margin:-21px 0 0 -21px;border:1.5px solid rgba(9,144,204,.55);transition:transform .32s var(--vm-e),opacity .3s ease,width .45s var(--vm-e),height .45s var(--vm-e),margin .45s var(--vm-e),background-color .35s ease,border-color .35s ease}
.vm-has-cursor:hover .vm-cursor,.vm-has-cursor:hover .vm-cursor-ring{opacity:1}
.vm-has-cursor:has(a:hover,button:hover,summary:hover) .vm-cursor-ring{width:76px;height:76px;margin:-38px 0 0 -38px;background:rgba(9,144,204,.12);border-color:rgba(9,144,204,0)}
.vm-has-cursor:has(a:hover,button:hover,summary:hover) .vm-cursor{width:0;height:0;margin:0}
.vm-has-cursor:has(input:hover,textarea:hover,select:hover) .vm-cursor-ring{opacity:0}
@media (hover:none),(pointer:coarse){.vm-cursor,.vm-cursor-ring{display:none}}

/* Botones magnéticos */
.vm-mag{transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .5s var(--vm-e),background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .4s ease}
.vm-mag:hover{box-shadow:0 16px 34px -14px rgba(4,38,58,.45)}
.vm-mag>*{transition:transform .5s var(--vm-e)}
.vm-mag:hover>svg{transform:translateX(5px)}

/* Tarjetas: sombra al pasar el cursor + foco de luz que sigue al cursor */
.vm-lift{transition:translate .6s var(--vm-e),box-shadow .6s var(--vm-e),background-color .4s ease}
.vm-lift:hover{translate:0 -8px;box-shadow:0 34px 70px -28px rgba(4,38,58,.42),0 10px 24px -14px rgba(4,38,58,.18)}
.vm-card{transition:translate .6s var(--vm-e),box-shadow .6s var(--vm-e),background-color .4s ease,color .4s ease}
.vm-card:hover{translate:0 -6px;box-shadow:0 34px 70px -28px rgba(4,38,58,.42),0 10px 24px -14px rgba(4,38,58,.18)}
.vm-spot{position:relative;isolation:isolate;overflow:hidden}
.vm-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .5s ease;background:radial-gradient(520px circle at var(--sx,50%) var(--sy,50%),rgba(9,144,204,.20),transparent 62%)}
.vm-spot:hover::before{opacity:1}
.vm-spot-dark::before{background:radial-gradient(520px circle at var(--sx,50%) var(--sy,50%),rgba(127,198,234,.22),transparent 62%)}

/* Inclinación 3D */
.vm-tilt{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--vm-e);transform-style:preserve-3d}

/* Slider tipográfico */
@keyframes vm2-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.vm-ticker{overflow:hidden;white-space:nowrap}
.vm-ticker-track{display:inline-flex;align-items:center;animation:vm2-ticker 38s linear infinite;will-change:transform}
.vm-ticker-track.vm-rev{animation-direction:reverse}
.vm-ticker:hover .vm-ticker-track{animation-play-state:paused}
.vm-ticker-item{transition:color .3s ease,opacity .3s ease}
.vm-ticker-item:hover{color:#0990CC!important}

/* Carrusel de tarjetas */
.vm-slide-track{display:flex;transition:transform .9s var(--vm-e);will-change:transform}
.vm-slide-btn{transition:transform .45s var(--vm-e),background-color .3s ease,color .3s ease,opacity .3s ease}
.vm-slide-btn:hover{transform:scale(1.08)}
.vm-slide-btn:disabled{opacity:.35;cursor:default;transform:none}
.vm-bar{transition:width .9s var(--vm-e)}

/* Pestañas */
.vm-tabbtn{transition:background-color .35s ease,color .35s ease,transform .45s var(--vm-e)}
.vm-tabbtn:hover{transform:translateY(-2px)}
.vm-panel{animation:vm2-fade .7s var(--vm-e) both}
@keyframes vm2-fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Campos */
.vm-in{transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease}
.vm-in:hover{border-color:#9EC3D8!important}
.vm-in:focus{border-color:#076290!important;background:#fff!important;box-shadow:0 0 0 4px rgba(9,144,204,.14);outline:none}

/* Páginas heredadas: sombras al pasar el cursor */
main article:hover,main a[style*="border-radius: 24px"]:hover,main a[style*="border-radius: 26px"]:hover,main li[style*="border-radius: 24px"]:hover,main div[style*="border-radius: 24px; padding"]:hover,main a[style*="border-radius: 20px"]:hover,main a[style*="border-radius: 28px"]:hover{translate:0 -6px;box-shadow:0 34px 70px -28px rgba(4,38,58,.4)}

@media (prefers-reduced-motion: reduce){.vm-ticker-track{animation:none}.vm-mag,.vm-tilt{transform:none!important}.vm-cursor,.vm-cursor-ring{display:none}}

main article,main a[style*="border-radius: 2"],main li[style*="border-radius: 2"]{transition:translate .6s var(--vm-e),box-shadow .6s var(--vm-e),background-color .4s ease}
