/* Vida Médica · capa de movimiento e interacción */
:root{--vm-ease:cubic-bezier(.16,1,.3,1);--vm-ease-io:cubic-bezier(.65,0,.35,1)}
html{scroll-behavior:smooth}
::selection{background:#0990CC;color:#fff}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #0990CC;outline-offset:3px;border-radius:6px}

/* Entrada al cargar */
@keyframes vm-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes vm-mask{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:none}}
@keyframes vm-scale-in{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}
@keyframes vm-draw{to{stroke-dashoffset:0}}
@keyframes vm-float{from{transform:translateY(0)}to{transform:translateY(-14px)}}
@keyframes vm-blip{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}
@keyframes vm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.vm-rise{animation:vm-rise 1s var(--vm-ease) both}
.vm-line{display:block;overflow:hidden;padding-bottom:.06em}
.vm-line>span{display:block;animation:vm-mask 1.1s var(--vm-ease) both}
.vm-d1{animation-delay:.08s!important}.vm-d2{animation-delay:.18s!important}.vm-d3{animation-delay:.3s!important}
.vm-d4{animation-delay:.44s!important}.vm-d5{animation-delay:.6s!important}.vm-d6{animation-delay:.78s!important}
.vm-line>span.vm-d1{animation-delay:.1s}.vm-line>span.vm-d2{animation-delay:.22s}
.vm-scale-in{animation:vm-scale-in 1.6s var(--vm-ease) both}
.vm-float{animation:vm-float 7s ease-in-out infinite alternate}
.vm-blip{animation:vm-blip 1.6s ease-in-out infinite}
.vm-pulse path{stroke-dasharray:2400;stroke-dashoffset:2400;animation:vm-draw 2.6s var(--vm-ease-io) .3s forwards}

/* Entradas al hacer scroll (CSS scroll timelines; sin soporte, todo queda visible) */
@supports (animation-timeline: view()){
  @keyframes vm-reveal{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
  @keyframes vm-reveal-img{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
  .vm-reveal{animation:vm-reveal linear both;animation-timeline:view();animation-range:entry 5% entry 55%}
  .vm-stagger>*{animation:vm-reveal linear both;animation-timeline:view();animation-range:entry 5% entry 50%}
  .vm-stagger>*:nth-child(2){animation-range:entry 12% entry 58%}
  .vm-stagger>*:nth-child(3){animation-range:entry 19% entry 66%}
  .vm-stagger>*:nth-child(4){animation-range:entry 26% entry 74%}
  .vm-stagger>*:nth-child(n+5){animation-range:entry 32% entry 80%}
  .vm-reveal-img{animation:vm-reveal-img linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  .vm-parallax{animation:vm-float linear both;animation-timeline:view();animation-range:cover}
}

/* Botones */
.vm-btn{position:relative;display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;border-radius:999px;cursor:pointer;
  transition:transform .45s var(--vm-ease),background-color .3s ease,color .3s ease,border-color .3s ease}
.vm-btn svg{transition:transform .45s var(--vm-ease)}
.vm-btn:hover{transform:translateY(-2px)}
.vm-btn:hover svg{transform:translateX(5px)}
.vm-btn:active{transform:translateY(0) scale(.97);transition-duration:.12s}
.vm-btn-primary{background:#076290;color:#fff}
.vm-btn-primary:hover{background:#05324B}
.vm-btn-white{background:#fff;color:#05324B}
.vm-btn-white:hover{background:#DDF0FA}
.vm-btn-ghost{border:1.5px solid rgba(255,255,255,.4);color:#fff;background:transparent}
.vm-btn-ghost:hover{background:#fff;color:#05324B;border-color:#fff}
.vm-btn-line{border:1.5px solid #BFD6E4;color:#0B2233;background:transparent}
.vm-btn-line:hover{border-color:#076290;color:#076290;background:#EAF4FA}
.vm-btn-wa{background:#128C4A;color:#fff}
.vm-btn-wa:hover{background:#0B6B37}

/* Enlaces */
.vm-link{position:relative;text-decoration:none}
.vm-link::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--vm-ease)}
.vm-link:hover::after{transform:scaleX(1);transform-origin:left}
.vm-arrow-link svg{transition:transform .45s var(--vm-ease)}
.vm-arrow-link:hover svg{transform:translateX(6px)}

/* Tarjetas y medios */
.vm-card{transition:transform .6s var(--vm-ease),background-color .4s ease,color .4s ease}
.vm-card:hover{transform:translateY(-6px)}
.vm-media{overflow:hidden}
.vm-media>img,.vm-media>.vm-zoom{transition:transform 1.4s var(--vm-ease)}
.vm-card:hover .vm-media>img,.vm-card:hover .vm-media>.vm-zoom,.vm-media:hover>img{transform:scale(1.06)}
.vm-chip{transition:background-color .3s ease,color .3s ease,transform .4s var(--vm-ease)}
.vm-chip:hover{background:#076290!important;color:#fff!important;transform:translateY(-2px)}

/* Filas índice (servicios, valores) */
.vm-row{transition:background-color .55s var(--vm-ease),color .35s ease}
.vm-row .vm-row-sub{transition:color .35s ease}
.vm-row .vm-row-media{opacity:.0;transform:translateX(24px) scale(.94);transition:opacity .5s ease,transform .8s var(--vm-ease)}
.vm-row .vm-row-arrow{transition:transform .6s var(--vm-ease),background-color .35s ease,color .35s ease}
.vm-row:hover{background:#05324B;color:#fff}
.vm-row:hover .vm-row-sub{color:#CFE3EF}
.vm-row:hover .vm-row-media{opacity:1;transform:none}
.vm-row:hover .vm-row-arrow{transform:rotate(-45deg);background:#fff;color:#05324B}

/* Marquesina de aliados */
.vm-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.vm-track{display:flex;width:max-content;animation:vm-marquee 48s linear infinite}
.vm-track.vm-slow{animation-duration:62s}
.vm-track.vm-rev{animation-direction:reverse}
.vm-marquee:hover .vm-track{animation-play-state:paused}
.vm-logo{transition:color .3s ease,background-color .3s ease,transform .5s var(--vm-ease)}
.vm-logo:hover{color:#076290!important;background:#fff!important;transform:translateY(-3px)}

/* Navegación */
.vm-nav a{transition:color .25s ease,background-color .25s ease}
.vm-nav a:hover{color:#0990CC}
.vm-burger{display:none!important}
@container (max-width: 980px){
  .vm-nav,.vm-hide-sm{display:none!important}
  .vm-burger{display:flex!important}
}

/* WhatsApp flotante */
.vm-wa{transition:transform .5s var(--vm-ease),background-color .3s ease}
.vm-wa:hover{transform:translateY(-4px) scale(1.03);background:#0B6B37!important}

/* Formularios */
.vm-field{transition:border-color .25s ease,background-color .25s ease}
.vm-field:hover{border-color:#9EC3D8!important}
.vm-field:focus{border-color:#076290!important;background:#fff!important}

/* Selector de perfil / pestañas */
.vm-tab{transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .45s var(--vm-ease)}
.vm-tab:hover{transform:translateY(-2px)}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .vm-pulse path{stroke-dashoffset:0}
  .vm-track{animation:none!important}
}
